我创建的 bash 脚本中有以下代码。当我从路径中没有空格的目录运行它时,它会按预期工作,但是如果我从带有空格的目录运行它会失败。我很确定我需要以某种方式逃避它,但我尝试过的任何方法似乎都不起作用。
for file in `pwd`/*
do
echo file:$file
done
“失败”是指如果我从路径“~/dir 1/test”运行命令,它将回显以下内容:
file: ~/dir
file: 1/
file: test
我希望它列出目录中的文件(如果当前目录中没有空格,它会这样做):
file: file 1
file: file 2
file: file 3
请注意,如果当前目录中包含空格,则这只是一个问题,其中包含空格的文件处理得很好。
我在这里阅读了几个类似的示例,例如为什么我的 shell 脚本会因空格或其他特殊字符而窒息?并遍历名称中带有空格的文件?但我看不出它们如何(如果它们相关)适用于我的具体示例。
感谢 Paulo Tomé,我需要将其更改为以下内容: