加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 在Bash脚本中循环?

发布时间:2020-12-13 18:50:18 所属栏目:Linux 来源:网络整理
导读:我不习惯编写 Bash脚本,谷歌没有帮助弄清楚这个脚本有什么问题: #!/bin/bashwhile read mylinedodoneecho "Hello"while read linedodoneexit 0 我得到的输出是: ./basic.agi: line 4: syntax error near unexpected token 'done'./basic.agi: line 4: 'don
我不习惯编写 Bash脚本,谷歌没有帮助弄清楚这个脚本有什么问题:
#!/bin/bash
while read myline
do
done

echo "Hello"
while read line
do
done

exit 0

我得到的输出是:

./basic.agi: line 4: syntax error near unexpected token 'done'
./basic.agi: line 4: 'done'

我的bash版本是:

GNU bash,version 3.2.25(1)-release (i686-redhat-linux-gnu)

谢谢.

编辑:当while循环不为空时,脚本可以正常工作.

当我在它的时候……我希望在用户输入任何内容时退出循环,即.只需按Enter键,但Bash保持循环.我怎么能退出循环?

while read myline
do
        echo ${myline}
done

echo "Hello"
while read line
do
        true
done

exit 0

解决方法

你不能有一个空循环.如果你想要一个占位符,只需使用true.
#!/bin/bash
while read myline
do
    true
done

或者,更有可能的是,对输入做一些有用的事情:

#!/bin/bash
while read myline
do
    echo "You entered [$line]"
done

至于你的第二个问题,关于如何在用户只需按ENTER键时退出循环,你可以做一些事情:

#!/bin/bash
read line
while [[ "$line" != "" ]] ; do
    echo "You entered [$line]"
    read line
done

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读