我们假设当前目录有许多名为D.userid的目录,每个目录都包含提交的Java文件。如何检测目录中是否存在D.userid?应该是什么代码。我这不是我的仪式
#!/bin/bash
if [ -d "$D.*" ]
then
else
echo "no .java file(s) submitted"
exit
fi
done
答案 0 :(得分:1)
既然您认为有文件,并且只想知道没有文件,我认为这是合理的:
ls D.* > /dev/null # try to list the files. we don't need output
return=$? # save the return value of ls just in case
if [ $return -ne 0 ]; # compare it to 0 (success)
then
echo "No files."
fi
如果找不到文件, ls
将返回2,因此如果您愿意,可以直接使用它。当然,它不会检查它们是否是目录,但它只是另一种方式。