bash:运行带引号和变量的命令

时间:2017-09-26 10:58:08

标签: bash

我在bash文件的末尾有这一行:

ab -n 100 -c 10 'https://example.com/?bot_id=$BOT_ID&page_id=$PAGE_ID'

由于我的查询字符串中有2个参数,因此我需要用引号括起网址。

问题是bash正在输出变量名称($BOT_ID)而不是它的值。

如何在引号内输出值?

2 个答案:

答案 0 :(得分:1)

使用双引号使shell扩展变量;使用单引号保持值按原样

[root@box ~]# a=5
[root@box ~]# echo '$a'
$a
[root@box ~]# echo "$a"
5
  

经验法则总是在bash中双引号变量。

from TLDP docs: 引用变量时,通常建议将其名称括在双引号中。这可以防止重新解释其中的所有特殊字符 引用的字符串 - 除了$,`(反引号)和\(转义)。

答案 1 :(得分:0)

你应该使用“”:

ab -n 100 -c 10 "https://example.com/?bot_id=$BOT_ID&page_id=$PAGE_ID"