繁体   English   中英

双/单引号语法

[英]Double /Single quote syntax

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

  • 脚本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

echo $ cilist 7c553435c1376c8f5f020fcee0b8ef51,7d427dd75235bf513286d3210e1bd787

=>执行回显时没有引号

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

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

-cis'“ 7c553435c1376c8f5f020fcee0b8ef51,7d427dd75235bf513286d3210e1bd787”'

我尝试了几种语法方式,但在第二个脚本中输入错误。 或者,我在前后都没有引号或类似'"引号。

任何帮助或对正确语法的反馈将不胜感激。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM