【发布时间】:2013-10-26 07:10:48
【问题描述】:
#!/bin/sh
for i in {1..5}
do
echo "Welcome"
done
会工作,显示 Welcome 5 次。
#!/bin/sh
howmany=`grep -c $1 /root/file`
for i in {1..$howmany}
do
echo "Welcome"
done
没用! howmany 将等于 5,因为这是 grep -c 的输出将显示的内容。 $1 是运行脚本时的参数 1。
有什么想法吗?
【问题讨论】:
-
添加一个 echo $howmany 用于调试以检查它 IS 5 '不起作用' ==> 可能意味着什么,发送运行的完整输出。
-
可以使用 seq 命令。对于 i in $(seq 1 $howmany)
-
@user2701753,我尝试过:
x=5; for i in {1..$x}; do echo "Hi"; done,但也不起作用。它只打印一次Hi。 -
我做了一些建议的cmets:i.imgur.com/xCza7Fv.png你可以在图片中看到上面的输出。
标签: bash variables syntax variable-expansion