2015-11-13 40 views
-2

我目前正在構建一個需要執行命令的linux shell腳本,如:mkdir /home/Área\ de\ Trabalho/test 但它不理解像「bash」這樣的「\」只在我的home文件夾中創建一個名爲Área的目錄。有沒有辦法強制腳本像bash一樣執行該命令?如何使一個Linux腳本理解爲「」作爲路徑目的

編輯:我忘記了一個重要的細節是腳本通過參數從c代碼接收路徑。所以命令將是mkdir $4,例如$4具有上述路徑。

+2

您正在構建「Linux shell腳本」,但它不像Bash?沒有shell腳本語言叫做「Linux」。最好清楚你使用的是什麼外殼。但是我還沒碰到一個不理解反斜槓引用的shell。 – 4ae1e1

+0

你的編輯確實是一個重要的細節! –

回答

0

在bash中,如果變量中包含空格,並且希望它們成爲命令的單個參數,則應該在變量周圍使用雙引號。

此外,如果您希望它們展開,您應該將變量放在雙引號內,如果您希望它們不展開,則應該用單引號括起來。

a="foo bar" 
mkdir $a    # Will create directories <foo> and <bar> 
mkdir "$a"    # Will create directory <foo bar> 
mkdir '$a'    # Will create directory <$a> 
相關問題