0
在Linux bash中有很多關於IFS字符串拆分和單引號轉義的回答問題,但是我沒有發現任何加入這兩個主題的答案。在蹣跚問題我得到像一個在這裏下面的代碼的奇怪(我)行爲:在單引號中使用IFS的Linux bash字符串拆分
(bash腳本塊)
theString="a string with some 'single' quotes in it"
old_IFS=$IFS
IFS=\'
read -a stringTokens <<< "$theString"
IFS=$old_IFS
for token in ${stringTokens[@]}
do
echo $token
done
# let's say $i holds the piece of string between quotes
echo ${stringTokens[$i]}
會發生什麼事是,呼應 -ed元該數組實際上包含我需要的子串(因此導致我認爲IFS是正確的),而for循環返回空格上的字符串split。
有人可以幫助我理解爲什麼相同的數組(或我腦子裏看起來像是同一個數組)的行爲如何?