我運行需要像這樣圍繞一個多部分命令雙引號一個簡單的bash腳本文件名:使用帶引號的bash變量,忽略了引號
for i in /data/*; do
mycommand "first_directive ; second_directive $i"
done
要處理特殊字符,我把引號將變量,因此它看起來像這樣: "first_directive ; second_directive '$i'"
它的作用大部分,但我發現了一個邊緣情況。
當文件名中包含兩個單引號,如there_are_12''_in_a_foot
它忽略了''
,只是尋找there_are_12_in_a_foot
這裏是data
文件夾的內容:
$ ls /data/
what_do_they_call_a_quarter_pounder
they_use_the_metric_system
there_are_12''_in_a_foot
我已經試過各種組合我能想到的引號,當然還有搜索,但是我找不到任何有用的東西。
'variable'的值有引號?更改變量名稱以使代碼易於理解 – Inian
我認爲您所做的是正確的,在此無需更改。問題可能在於你正在調用的'mycommand'腳本。請提供具體的細節。 – Anubis