FOR循环的Unix脚本。字符到数字

时间:2018-01-19 08:58:35

标签: shell unix

我正在AIX中编写一个脚本,我正在使用如下所示的FOR循环:

myNumber=<value extracted from a line>
echo $myNumber
tmp=$(($myNumber))
echo $queue

 for i in {1..$tmp}
 do
 //Something
 done

执行脚本时,我收到以下错误消息。在我的情况下,myNumber的值为344。

{1..344}

  

无效的讯息范围参数'{1..344} .. {1..344}'

似乎字符没有转换为数字。帮助人

1 个答案:

答案 0 :(得分:2)

扩展变量{1..$tmp}后,需要扩展

tmp

您可以使用展开{1..$tmp}的结果调用shell。假设bash,请替换:

for i in {1..$tmp}

使用:

for f in $(bash -c "echo {1..$tmp}")