当前位置: 首页 > 面试题库 >

如何在bash中使用变量进行循环

孙泉
2023-03-14
问题内容

如何在bash for循环中使用变量?如果我只是使用标准的for循环,它会达到我的期望

for i in {0..3}
do
   echo "do some stuff $i"
done

这很好。它循环遍历4次,包括0到3,包括打印我的消息并将计数放在末尾。

do some stuff 0
do some stuff 1
do some stuff 2
do some stuff 3

当我使用以下for循环尝试相同的操作时,它似乎等于一个字符串,这不是我想要的。

length=3
for i in {0..$length}
do
   echo "do something right $i"
done

输出:

do something right {0..3}

我试过了

for i in {0.."$length"} and for i in {0..${length}} (both output was {0..3})

for i in {0..'$length'} (output was {0..$length})

他们俩都不做我所需要的。希望有人可以帮助我。预先感谢bash专家对for循环的帮助。


问题答案:

一种方法是使用eval

for i in $( eval echo {0..$length} )
do
       echo "do something right $i"
done

请注意 设置length=;lslength=; rm *(但不要尝试使用后者)时会发生什么。

安全地 ,使用seq

for i in $( seq 0 $length )
do
       echo "do something right $i"
done

或者您可以使用c样式的for循环,这也是安全的:

for (( i = 0; i <= $length; i++ )) 
do 
       echo "do something right $i"
done


 类似资料:
  • 问题内容: 我正在使用Eclipse Java EE进行Web应用程序项目。当前,我的应用程序返回数据库中存储员工个人信息的所有值。但是,我设置了默认的准备语句以搜索表employee_id = 1234,而不是登录员工的employee_id。这意味着无论哪个员工登录到我的系统,它都只会显示该员工的个人信息。 ID为1234,如下面的准备语句所示: 请注意上面的employeeID如何设置为12

  • 我是Katalon Studio的新手,我有一个要求,就是从excel表中读取数据并提出API请求。请提供步骤。 提前谢谢。

  • 我对lua脚本的功能很陌生。我试过用, 操作系统。执行(“导出MY_VAR=10”) 伊奥。popen(“导出MY_VAR=10”) 从 lua 脚本。 我尝试在执行lua脚本后使用 echo $MY_VAR 从 shell 中读取MY_VAR变量,但我没有看到MY_VAR设置为 10。 如何使用lua脚本设置环境变量?

  • 问题内容: 我一直在尝试并行化以下脚本,特别是for循环。我怎样才能做到这一点? 问题答案: 更换 与

  • Hi下面是我的bash脚本。它需要一个源文件和一个令牌文件,令牌文件包含servicename:用法我必须在源文件中逐行查找servicename,如果找到,然后计算内存使用量,然后用-Xmx\d{1,3}m更改-Xmxm。在下面的脚本粗线解释做什么多简单你可以先下站问题从下面的小部分脚本 那么上面的错误是什么

  • 问题内容: 在中,我有以下脚本正在工作: Bash中的功能等效于什么? 有直接的模拟吗?环境变量用于查找可执行文件。 问题答案: 将VAR设置为value。如果需要空格,请用单引号将其引起来。如果要对变量进行插值,请使用双引号,例如。