我有一个 UNIX 脚本,它应该扫描所有文件夹并返回早于特定时间的文件。我给出的逻辑如下,但脚本无法读取带有空格的文件夹。任何人都可以帮助如何使这项工作吗?
dir='/a/b/测试';
脚本在测试后正在扫描所有子目录,但无法扫描带有空格的目录,例如“测试脚本”。
答案1
所以你有这样的东西:
$ foo='my dir'
$ ls $foo
my: no file or directory found
dir: no file or directory found
相反,试试这个:
$ foo='my dir'
$ ls "$foo"
或者甚至更好:
$ ls "${foo}"
这两种方法都会保护 [:space:] 字符不被 shell 解释,并确保它被读取为 [:space:] 字符,而不是命令的断点。
这是编写 shell 脚本时要养成的一个非常好的习惯!