我有這樣的腳本:減少包含空格的變量的雙引號?
file="results/semester1 (2013).csv"
if [ -f "$file" ]; then
echo 'File exists.'
# do more stuff with $file
fi
我希望做更多的東西與$file
if塊內,如發行mv
,cp
,ln
等,但我發現,每次我通過$file
對於這些Unix命令,我必須用雙引號括起來處理文件名中的空格,否則會出錯。正如你在if條件中看到的,我已經做過一次了。
是否有任何方法只是雙引號「一勞永逸」,所以我不必每次都這麼做?
不是非常實際的答案,但切換到'zsh'。它在默認情況下不對參數擴展執行分詞,因此您可以放心地將它們不加引號。 – chepner