gpt4 book ai didi

linux - Bash 脚本中的 While 循环?

转载 作者:IT王子 更新时间:2023-10-29 00:18:00 25 4
gpt4 key购买 nike

我不习惯编写 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

关于linux - Bash 脚本中的 While 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5104426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com