2015-06-03 90 views
1

需要安裝從Windows的特定目錄,以Linux逗號,而使用「摩的」

mount -t cifs -o username=somebody password=12,34 //192.168.1.3/share /mnt/server 

注意,有密碼裏面一個逗號,這使得Shell錯誤它作爲分隔符。

如何處理這種情況?

謝謝!

+1

嘗試使用「\」或「」字符轉義逗號,我認爲它應該可以工作 –

+0

添加「\」時仍然無效...... – JeremyQiu

回答

-1

你可以嘗試使用像這樣在一旁密碼單引號:'12,34'

你應該這樣做:

mount -t cifs -o username=somebody password='\''12,34'\'' //192.168.1.3/share /mnt/server 

mount -t cifs -o username=somebody password='12\,34' //192.168.1.3/share /mnt/server 

mount -t cifs -o username=somebody password="12\,34" //192.168.1.3/share /mnt/server 

mount -t cifs -o username=somebody password="12,34" //192.168.1.3/share /mnt/server 

mount -t cifs -o username=somebody password='12,34' //192.168.1.3/share /mnt/server 

讓我知道,如果這個解決方案並不在man mount.cifs工作

2

說明password選項明確地說,你不能在命令行中使用包含逗號的密碼:

請注意,密碼包含分隔符(即逗號',')將無法在命令行上正確解析。但是,可以正確讀取在PASSWD環境變量中定義的密碼或通過憑證文件(見下文)或在密碼提示中輸入的相同密碼。

你可以設置同一行內PASSWD變量mount

PASSWD=12,34 mount -t cifs -o username=somebody //192.168.1.3/share /mnt/server 

或者您也可以使用證書文件,本手冊中描述。


順便說一句,這不是外殼誰錯誤地解釋逗號。其實,usernamepassword都是子選項-o選項,這些子選項應該用逗號由程序(安裝)本身被正確解析定界:

mount -t cifs -o username=<username>,password=<password> ... 

而這樣子選項機制有沒有辦法解析子選項的值內的逗號。