2014-12-03 61 views
-2

試圖將來自用戶的輸入分配給變量SRCbash讀取字符串格式

在文本編輯器: 讀-p「5.拖放包含您的短名稱到該窗口中的文件夾,按‘返回’後,你在這裏刪除的文件夾:」 SRC CD $ SRC

在終端: /Volumes/Macintosh\ HD\ 1/Users/fakeperson(該路徑被分配到SRC)

然而,當我回聲$ SRC,我得到這個: /Volumes/Macintosh HD 1/Users/fakeperson(HD後沒有反斜槓)

,我不能

cd /Volumes/Macintosh HD 1/Users/fakeperson 

最後,我想這一條線的工作

rsync -raz --progress $SRC $HOME 

任何幫助嗎?

回答

1

反斜槓被視爲轉義字符的空間..如果你HD後要反斜槓,你需要使用另一個backslash所以你需要輸入

​​

分配SRC作爲

轉義反斜線

/Volumes/Macintosh HD\ 1/Users/fakeperson

它總是一個好主意,讓字符串輸入double quotes其中有空格和s像\這樣的特殊字符,而不是逃避它們。您可以簡單地輸入爲:

"/Volumes/Macintosh HD\ 1/Users/fakeperson" 
+0

這非常接近。但是,我試圖在將文件路徑分配給SRC後進行最少的交互。任何命令自動附加反斜槓? – bskillets 2014-12-03 01:25:24

+0

@bskillets ok ..我明白了你的意思..沒有命令可以自動分配反斜槓......將變量'$ SRC'放在腳本所在的雙引號下。'cd「$ src」'這將解決你的大部分問題.. – RBH 2014-12-03 01:41:57