我試圖編寫一個bash腳本,在其中我通過獲取用戶名和密碼連接到samba服務器,然後說出$ username: $ @密碼SERVERNAME。如何在smb://的密碼字段中跳出@符號// URL
但是,如果密碼中有@,這將失敗。有沒有辦法在bash中將密碼轉義出來?
在此先感謝
更新: 我設立這個網絡打印機
lpadmin -p PRINTER -v smb://$username:[email protected] -E
和它的作品,除了在$密碼中有一個@符號的情況; $用戶名和$密碼變量從閱讀stdin
只是雙引號變量 – ghostdog74 2010-09-01 01:34:11
我認爲問題不在於bash,而是讓Samba識別密碼中的'@'和哪個'@'標記密碼的結尾。我懷疑有辦法做到這一點,但如果有的話,您需要查看Samba手冊以獲取信息。 「醫生,醫生,當我這樣打我自己時疼嗎?」?換句話說,不要在密碼中使用'@',因爲它會導致悲傷。 – 2010-09-01 01:50:58
也許嘗試用'%40'替換所有的'@'...我不認爲它會起作用,但也許這是關鍵。使用'$ password = $ {password // @ /%40}'替換它們。 – dreamlax 2010-09-01 04:16:56