我正在编写一个简单的脚本来检查输入的目录路径是否存在。这就是我所拥有的
echo "Please specify complete directory path"
read file_path
for file in $file_path; do
if [[ -d "$file" ]]; then
echo "$file is a directory"
break
else
echo "$file is not a directory, please try again."
fi
done
我需要的是,如果它不是一个目录,可以返回并再次询问文件路径。
感谢。
答案 0 :(得分:1)
这个怎么样?
echo "Please specify complete directory path"
while read file; do
if [[ -d "$file" ]]; then
echo "$file is a directory"
break
fi
echo "$file is not a directory, please try again."
done
答案 1 :(得分:0)
无需将路径拆分为其部分,使用-d测试整个路径将告诉您它是否是目录。您需要将整个测试放入while循环,直到用户正确执行:
#/bin/sh
set -e
file_path=''
while [ ! -d "$file_path" ]
do
echo "Please specify complete directory path"
read file_path
if [ ! -d "$file_path" ]
then
echo "$file_path is not a directory, please try again."
fi
done
我可以像这样使用它
$ sh /tmp/test.sh
Please specify complete directory path
foobar
foobar is not a directory, please try again.
Please specify complete directory path
/var/www