当前位置: 首页 > 知识库问答 >
问题:

在backticks内传递变量[重复]

顾鸣
2023-03-14

下面是一些我遇到问题的代码

id=`my_api myrouter myroutername getsomething'{"uid":"$servername","meta_type":"system"}'| $SCRIPTS_DIR/jq -M '.result.data[].uid'`

for i in `echo $id`;
do

    echo $i
    echo ""
done

我无法在backticks中传递变量$servername。对服务器名进行硬编码绝对可以

我使用的是bash脚本。试图逃跑,但没用。我知道我遗漏了一些非常琐碎的东西,但我没有意识到。

共有1个答案

邓声
2023-03-14

反勾号不是问题所在——这是因为变量发生在单引号内。这样做:

id=$(my_api myrouter myroutername getsomething'{"uid":"'"$servername"'","meta_type":"system"}'| $SCRIPTS_DIR/jq -M '.result.data[].uid')
# ............................................a........b^^^^^^^^^^^^^c.......................d

因此,单引号字符串从“a”开始,在“b”结束,变量用双引号替换以扩展字符串,然后单引号字符串的其余部分从“c”变为“d”

 类似资料:
  • 问题内容: 这个问题已经在这里有了答案 : 在JSP中将Javascript值传递给Java (2个答案) 4年前关闭。 是学习JSP的新手,它尝试在两个页面之间传递数据。 我想知道是否可以将javascript变量传递给 目前,我可以通过2个jsp文件传递文本字符串,如下所示: JSP1: JSP2: 效果很好。 然而,是否有可能通过一个进入呢?我将一些数据存储在javascript变量中,并希

  • 我调用test.sh从PHP使用shell_exec方法。 然而,命令行脚本说它只收到一个参数: /tmp/my_script.php 当我将呼叫更改为: 代码: 它说它收到了3个参数,但是argv[1]和argv[2]是空的。 当我将呼叫更改为: 代码: 脚本最终按预期接收所有3个参数。 您是否总是必须随脚本发送仅引用的文本,并且不允许发送$var之类的变量?或者你有没有什么特殊的方式发送$va

  • 问题内容: 我有Google地图提供的JavaScript值,需要将其保存在MySQL数据库中。 其实我有变量 我需要将该变量传递给PHP变量lugar 问题答案: 如果要在页面转换时进行操作,则可以通过表单或在URL中传递它,然后仅使用或接收变量。 如果您需要无缝完成它,那么您可能需要考虑使用AJAX。

  • 问题内容: 我试图将变量传递到Puppeteer中的函数中,但是当我使用以下非常简单的示例时,该变量未定义。 我是Puppeteer的新手,找不到任何可构建的示例,因此我需要帮助将该变量传递到函数中,以便在内部使用它。 问题答案: 您必须像这样将变量作为参数传递给:

  • 问题内容: 我正在尝试将有角度的应用程序从gulp转换为webpack。在gulp中,根据NODE_ENV,我使用gulp- preprocess替换html页面中的某些变量(例如,数据库名称)。使用webpack达到类似结果的最佳方法是什么? 问题答案: 有两种基本方法可以实现此目的。 定义插件 请注意,这只会按原样替换匹配项。这就是字符串具有其格式的原因。您可能有一个更复杂的结构,例如那里的一