gpt4 book ai didi

bash - 如何在 bash 中使用 while 循环

转载 作者:行者123 更新时间:2023-11-29 09:18:12 25 4
gpt4 key购买 nike

bash 新手我试图编写简单的 while 循环:

let i = $1
while(i < 4); do
echo Hi
((i++))
done

运行此命令:$ bash bash_file.sh 0
给了我这个警告bash_file.sh line 2: 4: no such file or directory

问题:什么时候变量必须是文件或目录?
如何解决?

编辑:如果我想循环 while i < $1 + $2,当 $1 和 $2 是数字时,如何写>

最佳答案

您需要一个算术语句(两个括号),而不是子 shell。 let在这里是不必要的。

i=$1
while (( i < 4 )); do
...
done

while的参数是一个 shell 命令。 ( i < 4 )启动一个运行命令 i 的子 shell , 从名为 4 的文件中读取输入.在查找命令之前处理重定向,这解释了为什么你没有得到 i: command not found错误。

您可以简单地替换 4用你想使用的表达式:

while (( i < $1 + $2 )); do

关于bash - 如何在 bash 中使用 while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32207604/

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