gpt4 book ai didi

linux - 双引号/单引号语法

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:17:03 26 4
gpt4 key购买 nike

当查询列表并将值放入变量并尝试在另一个脚本中使用该变量时,它确实获得了所需的格式。

  • 脚本 1:
    cilist=$(opr-ci-list.sh -view_name TN_UD_REFRESH_MRE | sed -e '/^[TL-]/d' -e '/^\s*$/d' -e 's/^....//' | awk -vORS=, '{ print $1 }' | sed 's/,$/\n/')

此脚本的输出将是 ID 的逗号分隔字符串,如:7c553435c1376c8f5f020fcee0b8ef51,7d427dd75235bf513286d3210e1bd787

回声$cilist7c553435c1376c8f5f020fcee0b8ef51,7d427dd75235bf513286d3210e1bd787

=> 回显时看不到引号

  • 脚本 2:
    opr-downtime.sh -cis "\"$cilist\""

我收到一个错误,因为变量是单引号:

-cis '"7c553435c1376c8f5f020fcee0b8ef51,7d427dd75235bf513286d3210e1bd787 "'

我尝试了几种语法方式,但第二个脚本的输入总是错误。或者我前面和后面都没有像 '" 这样的引号或引号。

如能提供有关正确语法的任何帮助或反馈,我们将不胜感激。

最佳答案

Shell 将引号字符视为特殊字符。对于双引号 ("),它将包含的数据视为命令的单个参数。如果输入中有空格(或其他 shell 分隔符),这将很有用。但是,当参数提供给命令,引号被删除。

您可以尝试使用反斜杠 (\) 来转义双引号。但是,您可能仍然希望用双引号将所有内容括起来,以防 $cilist 有需要引号的输入。

script.sh -cis "\"$cilist\""

关于linux - 双引号/单引号语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49679578/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com