/var/www/scripts/process_sounds.sh
我有一个使用以下命令的bash 脚本:
find /var/www/unprocessed_sounds/ * -type f
它应该找到unprocessed_sounds
目录中的所有文件,它确实做到了,但它也找到了脚本目录中的所有文件(然后像声音文件一样处理它们,这不是我想要的)。
为什么会find
返回当前目录中的东西?
答案1
您以错误的方式编写命令。要在目录中搜索文件/var/www/unprocessed_sounds/
,你应该这样写
find /var/www/unprocessed_sounds/ -type f
像这样编写find /var/www/unprocessed_sounds/ * -type f
将搜索文件 in/var/www/unprocessed_sounds/
和*
这意味着当前目录中的所有目录。
答案2
你的命令中有一个空格
find /var/www/unprocessed_sounds/ * -type f
find
正在解释您想要查找其中的所有文件/var/www/unprocessed_sounds/
并./*
去掉星号(因为 find 无论如何都会深入到目录中)
答案3
如果您只想处理 /var/www/unprocessed_sounds/ 目录中的文件,那么您不需要在其中使用 * 。
尝试仅使用:
find /var/www/unprocessed_sounds/ -type f