我有一个命令,我想放入一个脚本,但我遇到了问题。该命令非常挑剔,看起来像这样:
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' .....
但我的问题再次出现在单引号中,“/”“[]”广告传递变量。任何人都可以给我一个提示,我需要修复什么才能使它工作?
答案 0 :(得分:1)
就像Etan所说,使用双引号:
command_to_run -H "$ip_address" -u "$user" -p "$passwd" ....
答案 1 :(得分:0)
使用双引号:
$COMMAND -H "$IPADD" -u "$USERNAME" ...
如果在shell中使用单引号,变量将不会扩展,这意味着文字$USERNAME
将用于用户名。