【发布时间】:2012-12-19 21:36:21
【问题描述】:
运行时参数如下:$1 是包含文件列表的文件的路径
$2 是包含文件的目录的路径
我要做的是检查$1 中列出的每个文件是否存在于$2 目录中
我在想这样的事情:
for f in 'cat $1'
do
if (FILEEXISTSIN$2DIRECTORY)
then echo '$f exists in $2'
else echo '$f is missing in $2' sleep 5 exit
fi
done
如您所见,我想要这样,如果$1 中列出的任何文件在$2 目录中不存在,则脚本会声明它然后关闭。我无法理解的唯一部分是 (FILEEXISTSIN$2DIRECTORY) 部分。我知道你可以做[ -e $f ],但我不知道你如何确保它检查它是否存在于 $2 目录中。
编辑:进一步考虑这一点,也许我可以使用嵌套的 for 循环?
【问题讨论】:
-
嵌套循环能给你带来什么好处?是的,如果你能找到一种合理的使用方式,你可以使用嵌套循环。 OTOH,对于您的问题,不需要它们。