嗨,朋友们,你们能帮我用嵌套的 if 语句重写方法吗?非常感谢。
isDiskMounted()
{
if [ -d "/folder1" ] && [ -d "/folder2" ] && [ -d "/folder3" ] && [ -d "/folder4" ];then
echo "true"
else
echo "false"
fi
}
Run Code Online (Sandbox Code Playgroud)
我试着这样写;
isDiskMounted()
{
if [ -d "/folder1" ]; then
echo "/folder1 klasoru bulundu"
if [ -d "/folder2" ]; then
echo "/folder2 klasoru bulundu"
if [ -d "/folder3" ]; then
echo "/folder3 klasoru bulundu"
if [ -d "/folder4" ]; then
echo "/folder4 klasoru bulundu"
fi
fi
fi
echo "true"
else
echo "false"
fi
}
Run Code Online (Sandbox Code Playgroud)
纯粹从代码审查的角度来看,我会这样写这个函数:
func()
{
for d in /folder1 /folder2 /folder3 /folder4 ; do
if ! [ -d "$d" ] ; then
echo "$d does not exist (or is not a directory)"
return 1
fi
done
echo "all dirs exist"
}
Run Code Online (Sandbox Code Playgroud)
循环可能会更直接地将新目录添加到列表中,或者将它们作为参数传递给函数。
(但如果您的目标是检查某些东西是否已挂载,就像函数名称所暗示的那样,测试目录是否存在并没有那么好。)
归档时间: |
|
查看次数: |
1330 次 |
最近记录: |