【发布时间】:2015-05-22 03:59:19
【问题描述】:
我想使用传递给 bash 脚本的输入参数的数值,如下所示:
./script_pb3.sh out.txt 3
在这里,我想采用我传递的第二个参数(即值 3)并将其用作脚本中的数值,如下所示:
#!/bin/bash
NUM=$2
for i in {1..$NUM}; do
echo $i
done
但是当我运行它时,我得到的只是
{1..3}
代替
1
2
3
您能否解释一下为什么会发生这种情况以及解决方法?我认为这个问题旨在将字符串值转换为整数值,但我不确定。非常感谢任何帮助。
编辑:答案from here 包含关于我的问题的答案的辩论(即它假设答案是已知的),但它不是我问题的答案,因此我没有找到它我的第一次搜索。不过,谢谢您指出这一点。
【问题讨论】:
-
使用:
for ((i=1; i<=NUM; i++)); do echo $i; done -
这确实解决了问题。谢谢!
标签: linux bash command-line-arguments