什么是使用包含通配符(文件名补全)的shell变量(BASH)的最优雅方式,以避免触发一些不必要的替换?以下是示例:
文件名包含像'['或']'这样的字符。我基本上有两个想法:
1)通过set -f关闭globbing:我需要在其他地方使用它。
2)在文件中转义文件名:当将内容管道传输到stdin时,BASH会抱怨“找不到文件”。
感谢任何建议。
编辑:唯一缺少的答案是如何读取包含用于globbing的特殊字符的名称的文件,当文件名在shell变量“$file”中时,例如command1 < "$file"。
for file in $(cat files); do
command1 < "$file"
echo "$file"
done
文件名包含像'['或']'这样的字符。我基本上有两个想法:
1)通过set -f关闭globbing:我需要在其他地方使用它。
2)在文件中转义文件名:当将内容管道传输到stdin时,BASH会抱怨“找不到文件”。
感谢任何建议。
编辑:唯一缺少的答案是如何读取包含用于globbing的特殊字符的名称的文件,当文件名在shell变量“$file”中时,例如command1 < "$file"。