gpt4 book ai didi

bash - shell : `for` 的未定义行为

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

我有一个看起来像这样的脚本:

test.sh

!/bin/bash                                                                  
for i in {0..10}
do
echo "Welcome $i times"
done

如果我像 sh test.sh 那样运行它,我只会得到一次 Welcome {0..10} 次

但是,如果我将它作为 bash test.sh 运行,我会得到:

Welcome 0 times
Welcome 1 times
.... and so on

另外,如果我在 redhat 终端上运行相同的脚本。我得到一个错误:

root@UPLC-PPM-DEV-01 TEST]# sh test.sh 
'est.sh: line 3: syntax error near unexpected token `do
'est.sh: line 3: ` do

这里有什么问题吗?

最佳答案

这与for无关。

只有 bash 支持 {0..10} 语法。

在普通的 sh 中你可以使用

seq 0 10

(如果您的平台支持的话),或者

i=`expr $i + 1`

创建一个计数器并使用while

关于bash - shell : `for` 的未定义行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18248277/

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