我正在運行一個調用mysql的bash腳本。密碼沒有正確傳輸,我想我必須逃避一些特殊的字符,如散列或美元符號?如何在bash腳本中轉義字符串
#!/bin/bash USER=myuser PASS="#mypass$" # ... call mysql
我正在運行一個調用mysql的bash腳本。密碼沒有正確傳輸,我想我必須逃避一些特殊的字符,如散列或美元符號?如何在bash腳本中轉義字符串
#!/bin/bash USER=myuser PASS="#mypass$" # ... call mysql
使用"..."
已經是做了正確的事情,但要躲過$
需求(\$
)如果後面沒有「無效」字。但是,您還需要確保始終在引號中包含變量,如下所示:
somecommand -p "$PASS"
嘗試在您嘗試轉義的字符之前使用「\」。
#!/bin/bash
USER=myuser
PASS="#mypass\$"
# ... call mysql
@mit:您也可以更改爲單引號,以防止內容的擴展。 'PASS ='#mypass $''注意在命令行上傳遞密碼的安全含義。 – 2011-03-07 15:31:49
__'使用「...」已經是正確的事情了___ 我很困惑。是「#...」在bash中的特殊序列嗎? – Gerry 2015-05-26 06:30:00