我正在寫一個腳本,它需要帶'〜'分隔符的參數,並且在分割字符串之後我想將值插入到數組中。我在這個問題上有不少帖子,我幾乎在那裏,但有一個失敗的情況。這裏是細節。當delim將字符串分割成數組時,不包括最後一個空字符串
myScript.sh
#!/bin/bash
tmpIFS=$IFS
IFS="~"
array=($1)
IFS=$tmpIFS
echo "${#array[@]}"
處決
$ ./myScript.sh "A~B"
$ 2
這就是我想要的。但是當我做
$ ./myScript.sh "A~"
$ 1
我期待有一個大小爲2的數組再次和最後一個單元格是一個空字符串。
我該如何做到這一點?
我試圖用這個腳本來實現一般的做法是使用curl通過傳遞10個查詢參數來執行一個http請求。我沒有給我的腳本提供10個參數,而是想要將數據作爲一個參數按指定順序由一個字符分隔。
感謝
也許如果你包含更多關於你最終想達到什麼的信息,我們可以給你提供一些替代方案。 – 2015-01-21 11:15:34
@TomFenech更新了問題。 – NikosDim 2015-01-21 11:34:54
將10個參數添加到您的腳本並擁有一個參數但自己將其分開的情況有什麼區別?你只需要執行'./myScript.sh A B'並通過'$ 1'和'$ 2'訪問你的參數。如果你做了'./myScript.sh A''',甚至只是'./myScript.sh A',那麼'$ 2'就是空的。 – 2015-01-21 11:51:40