这是我正在尝试编写的脚本的一部分。
如果目录存在则没有问题,但如果不存在则我不知道该怎么办。
有人知道如何解决这个问题。
由于
do echo "$number"
newdir="../FILE-ID/*/${number:2:1}${number:1:1}/+33$number"
nbrdir=$(ls -lrtd $newdir|wc -l)
echo "$nbrdir"
if [ "$nbrdir" -gt 1 ]; then
echo "$number"
echo "error 1.greater"
fi
if [ "$nbrdir" -eq 1 ]; then
echo " equal 1"
else
echo "equal 0"
fi
done
答案 0 :(得分:0)
[-d $ newdir]&& echo“目录存在”|| echo“目录不存在”
答案 1 :(得分:0)
您可以使用以下方法测试文件(包括目录)是否存在:
if [[ -f ${newdir} ]]; then ...
或其他开关,如果您只想专门测试目录:
if [[ -d ${newdir} ]]; then ...
可以找到更全面的列表here。
如果您的目录名称包含通配符且可能匹配为零或更多,则可以使用:
nbrdir=$(ls -1d ${newdir} 2>/dev/null | wc -l)
这应该给你一个匹配目录的计数。请注意,可能生成的任何错误消息都将定向到/ dev / null,这可能是 您想要的内容,以避免错误导致输出混乱。