我正在尝试检查是否存在我们从args获取的文件夹(目录)。 例如:
./file.sh Dir1 Dir2 Dir3 etc..
所以我必须检查目录(Dir1 $ 1)是否存在然后做某事然后我应该跳到下一个args(我们得到的目录,$ 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
但就像我正在检查所有文件夹一样,如果其中一个不存在,他就会退出。所以我希望他一个接一个地检查,当他得到一个不退出时,他应该停止。
答案 0 :(得分:0)
您只需要使用$@
单独遍历每个目录,而不是使用$*
一次性检查所有目录:
for dir in "$@"; do
if [[ -d "$dir" ]]; then
# and so on
答案 1 :(得分:0)
for DIR in "$@" ; do
if [ ! -d "$DIR" ] ; then
echo "$DIR does not exist. I am EXITING"
exit 1
fi
echo "$DIR exists, continuing on."
... add whatever code you want to do on $DIR here ...
done