我正在运行一个调用mysql的bash脚本。密码未正确传输,我猜想我需要转义一些特殊字符,比如哈希或美元符号?
#!/bin/bash
USER=myuser PASS="#mypass$"
# ... 调用mysql
注意:为了安全起见,密码应该使用变量,并在脚本中使用变量名。
使用"..."
已经是正确的做法了,但是如果$
后面不跟一个"无效"字符,则需要对其进行转义(\$
)。然而,您还需要确保始终将变量放在引号中,例如:
somecommand -p "$PASS"
尝试在需要转义的字符前使用“\”。
#!/bin/bash
USER=myuser
PASS="#mypass\$"
# ... call mysql
PASS='#mypass$'
注意在命令行中传递密码可能存在安全隐患。 - Dennis Williamson