linux - 转义 bash 脚本中的特殊字符

标签 linux bash shell scripting

我有一个命令想放在脚本中,但我遇到了问题。该命令非常挑剔,看起来像这样:

command_to_run -H 'ip_address' -u 'user' -p 'passwd' --register naming_data "/location/of/backup/folder/" "[destination-location]"

我想创建一个交互式 bash 脚本,要求用户提供 ip_address、用户、密码、备份文件夹的位置和目标位置。我遇到的问题是我将用户的输入存储在变量(IP_ADD、USERNAME 等)上,但是当我将它传递给命令时,例如

$COMMAND -H '$IPADD' -u '$USERNAME' .....

但我的问题还是在单引号中,“/”和“[]”广告传递变量。任何人都可以给我一个提示以及我需要修复什么才能让它工作吗??

最佳答案

如Etan所说,使用双引号:

command_to_run -H "$ip_address" -u "$user" -p "$passwd" ....

关于linux - 转义 bash 脚本中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28726861/

相关文章:

mysql - 如何使用 mysql cmdline 获取受影响记录的数量,仅此而已?

linux - Linux 的 MMIO/PIO 信息

linux - 使用 df 和 awk 查找分区大小

python - Ubuntu nohup 关闭具体脚本

git - 如何检查 git branch 是否有跟踪分支?

bash - 获取当前在 repo 中的 MySQL 版本号

linux - 在 CSV 的列中搜索模式并使用 sed 命令替换同一行中的另一个模式

linux - Nohup 与 Anaconda ipython 失败

c++ - 错误: expected primary-expression before '<' token

regex - 如何测试字符串是否与 POSIX shell 中的正则表达式匹配? (不是 bash )