UNIX 脚本不读取带有空格的文件夹

UNIX 脚本不读取带有空格的文件夹

我有一个 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 脚本时要养成的一个非常好的习惯!

相关内容