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