【发布时间】:2013-12-06 22:47:28
【问题描述】:
我正在尝试检查我们从 args 获得的文件夹(目录)是否存在。 示例:
./file.sh Dir1 Dir2 Dir3 etc..
所以我必须检查目录(Dir1 $1)是否存在,然后做一些事情,然后我应该跳到下一个参数(我们得到的目录,$2)并做同样的事情......等等。
我知道这样做:
检查文件夹是否存在
if [ -d $* ];
then
echo "The specified folders exists"
for item in $LOCATION/*
do
.....
done
else
echo "The specified folders does NOT exists, Iam EXITING"
exit 0
fi
但是像这样我一次检查所有文件夹,如果其中一个不存在,他将退出。所以我希望他一个接一个地检查1,当他得到一个不退出的时候,他应该停下来。
【问题讨论】:
-
请展示您已经尝试过的内容。
-
上面的代码我正在尝试修复它..但我不知道如何检查参数...我正在做很多事情,例如我正在搜索大小和类型等,但这个事情会进来做..但问题是开始我怎么能让他通过args检查args(一个接一个)
-
缺少几个部分......例如迭代参数(使用
"$@"而不是$*)。此外, test -d 不采用向量($*是),而是采用单个参数(您还需要引用)。 -
它的工作方式是这样的
标签: bash if-statement for-loop while-loop