如何在 bash 脚本中转义字符串

发布于 2024-10-20 22:37:34 字数 137 浏览 3 评论 0原文

我正在运行一个调用 mysql 的 bash 脚本。密码未正确传输,我想我必须转义一些特殊字符,例如哈希或美元符号?

#!/bin/bash

USER=myuser
PASS="#mypass$"

# ... call mysql

I am running a bash script that calls mysql. The password ist not correctly transmitted, I guess I have to escape some special chars, like the hash or the dollar sign?

#!/bin/bash

USER=myuser
PASS="#mypass$"

# ... call mysql

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

眼藏柔 2024-10-27 22:37:34

使用 "..." 已经是正确的做法,但如果不是,则需要转义 $ (\$) t 后跟一个“无效”字符。但是,您还需要确保始终将变量放在引号中,如下所示:

somecommand -p "$PASS"

Using "..." is already the correct thing to do, but the $ needs to be escaped (\$) if it isn't followed by an "invalid" character. However you also need to make sure to always have the variable in quotation marks as well, as in:

somecommand -p "$PASS"
许久 2024-10-27 22:37:34

尝试在要转义的字符之前使用“\”。

#!/bin/bash

USER=myuser
PASS="#mypass\$"

# ... call mysql

Try to use "\" before the character that you are trying to escape.

#!/bin/bash

USER=myuser
PASS="#mypass\$"

# ... call mysql
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文