首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在bash中使用中断时的不同输出

在bash中使用中断时的不同输出
EN

Ask Ubuntu用户
提问于 2018-12-16 07:36:26
回答 1查看 104关注 0票数 -1

我写了一个简单的脚本:

代码语言:javascript
复制
for DIR in /etc/*; do
    if [ "$DIR" == "/etc/dhcp" ]; then
        echo $DIR
        break
    fi
done

这是正确的,但是如果我在break之后使用fi,它不会产生理想的结果。

这个剧本和这个剧本有什么区别?

代码语言:javascript
复制
for DIR in /etc/*; do
    if [ "$DIR" == "/etc/dhcp" ]; then
        echo $DIR
    fi
    break
done
EN

回答 1

Ask Ubuntu用户

发布于 2018-12-16 07:44:50

简单地说,如果满足条件,for循环将在第一个脚本中终止。但是在第二个脚本中,无论条件是否满足,for循环都将终止。for循环将执行一次。因此,在第二个脚本中没有for循环的好处,因为结果是相同的。

因此,在第一个脚本的末尾,DIR的值将是/etc/dhcp,并有一个输出。但是在第二个脚本中,DIR的值将是最初找到的文件夹的名称。可能发生的情况是,它是/etc/dhcp。在这种情况下,if条件将被执行,您将看到一个输出。但是,如果DIR的值是其他值,那么就不会有输出。

票数 6
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1102253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档