如何测试目录以查看它是否包含通常用于网站的文件?我搜索并找到了如何一次测试一个扩展,这导致我这样做:
c1=`ls -1 /var/www/*.htm 2>/dev/null | wc -l`
c2=`ls -1 /var/www/*.html 2>/dev/null | wc -l`
c3=`ls -1 /var/www/*.php 2>/dev/null | wc -l`
if [ $c1 != 0 ] || [ $c2 != 0 ] || [ $c3 != 0 ]; then
echo true
fi
然而,这并不让我觉得特别有效,因为显然有很多不同的文件类型可用于网站。有没有case
我可以使用的声明?
答案1
完全根据您的示例,您可以稍微简化代码
found=$(find . -maxdepth 1 -type f \( -name '*.htm -o -name '*.html' -o -name '*.php' \) | wc -l)
if [[ $found -gt 0 ]]
then
echo Possibly a website
fi
或者
found=$(ls -d *.htm *.html *.php 2>/dev/null)
if [[ -n "$found" ]]
then
echo Possibly a website
fi
甚至
echo Possibly a website