【发布时间】:2011-07-10 08:54:25
【问题描述】:
我正在运行一个调用 mysql 的 bash 脚本。密码未正确传输,我想我必须转义一些特殊字符,例如哈希或美元符号?
#!/bin/bash 用户=我的用户 PASS="#mypass$" # ... 调用 mysql【问题讨论】:
我正在运行一个调用 mysql 的 bash 脚本。密码未正确传输,我想我必须转义一些特殊字符,例如哈希或美元符号?
#!/bin/bash 用户=我的用户 PASS="#mypass$" # ... 调用 mysql【问题讨论】:
使用"..." 已经是正确的做法,但是如果$ 后面没有“无效”字符,则需要对其进行转义(\$)。但是,您还需要确保始终将变量放在引号中,如:
somecommand -p "$PASS"
【讨论】:
Using "..." is already the correct thing to do 我很困惑。 "# ..." 是 bash 中的特殊序列吗?
尝试在要转义的字符前使用“\”。
#!/bin/bash
USER=myuser
PASS="#mypass\$"
# ... call mysql
【讨论】:
PASS='#mypass$' 注意在命令行上传递密码的安全隐患。