參數從外部傳遞給bash腳本,並在bash文件中讀取。看起來如下:如何在bash腳本中迭代字符串類型的參數?
#following is the point from where the argument is passed to config.sh
controller.vm.provision :shell, path: 'shell/config.sh', keep_color: true, privileged: false, :args => ip
裏面的config.sh讀取參數。參數「ip」有點像下面這樣:
ip = "10.12.153.26" "10.12.153.25" "10.12.153.24"
現在我想遍歷bash中的上述參數。這樣做如下:
array=($1) //please note $1="10.12.153.26" "10.12.153.25" "10.12.153.24"
for i in ${array[@]}
do
echo $i //it is iterated only once and output is "10.12.153.26" "10.12.153.25" "10.12.153.24"
done
所以我只得到了一次,輸出完整的說法,因爲它是,但我想讓它變得逐個顯示是這樣,我甚至可以單獨使用單一的價值對於一些其他目的。所以,請建議我如何得到這個?
他們是3個獨立的論點? 「$ @」 ; do printf「%s \ n」「$ arg」 ; done'?有什麼問題? – Inian
你是什麼意思'ip =「10.12.153.26」「10.12.153.25」「10.12.153.24」'?運行'declare -p ip'併發布輸出。 –
如果你這樣做的話,你的不同IP將是'$ 1','$ 2'和'$ 3',而不是全部壓在'$ 1'中。然後你可以遍歷'「$ @」'來獲得完整列表。 –