我写了一个简单的脚本:
for DIR in /etc/*; do
if [ "$DIR" == "/etc/dhcp" ]; then
echo $DIR
break
fi
done这是正确的,但是如果我在break之后使用fi,它不会产生理想的结果。
这个剧本和这个剧本有什么区别?
for DIR in /etc/*; do
if [ "$DIR" == "/etc/dhcp" ]; then
echo $DIR
fi
break
done发布于 2018-12-16 07:44:50
简单地说,如果满足条件,for循环将在第一个脚本中终止。但是在第二个脚本中,无论条件是否满足,for循环都将终止。for循环将执行一次。因此,在第二个脚本中没有for循环的好处,因为结果是相同的。
因此,在第一个脚本的末尾,DIR的值将是/etc/dhcp,并有一个输出。但是在第二个脚本中,DIR的值将是最初找到的文件夹的名称。可能发生的情况是,它是/etc/dhcp。在这种情况下,if条件将被执行,您将看到一个输出。但是,如果DIR的值是其他值,那么就不会有输出。
https://askubuntu.com/questions/1102253
复制相似问题