我想用輸入參數的數值,我傳遞給一個bash腳本是這樣的:使用在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包含關於我的問題的答案(即它假設答案已知)的辯論,但它不是作爲我的問題的答案,因此我沒有在我的首先搜索。但是,謝謝你,指出它。
用途:'爲( (i = 1; i <= NUM; i ++));做 echo $ i; done' – anubhava
這確實解決了這個問題。謝謝! – MihaiD