当前位置: 首页 > 面试题库 >

何时将引号括在shell变量周围?

金泉
2023-03-14
问题内容

有人可以告诉我是否应该在Shell脚本中的变量周围加上引号吗?

例如,以下是正确的:

xdg-open $URL 
[ $? -eq 2 ]

要么

xdg-open "$URL"
[ "$?" -eq "2" ]

如果是这样,为什么?


问题答案:

一般规则:如果它可以为空或包含空格(或任何空白)或特殊字符(通配符),则将其引号。不使用空格引用字符串通常会导致外壳将单个参数分解为多个参数。

$?因为它是数字值,所以不需要引号。是否$URL需要它取决于您在其中允许的内容以及是否为空(如果为空)。

我倾向于总是出于习惯而引用字符串,因为这样做更安全。



 类似资料:
  • 问题内容: 例如,我们有: 有没有更好的方法来在变量周围打印双引号? 问题答案: 更新: 从Python 3.6开始 ,您可以使用f字符串 原始答案: 您可以尝试%格式化 要么 或将引号字符转义为 并且,如果双引号不是一个限制(即单引号可以) 或者像其他人已经说过的那样(将其包含在您的声明中) 使用任何 您 觉得更好或更少引起混淆的东西。 而且,如果您需要对多个单词进行操作,则最好创建一个函数

  • 你好,我有以下php代码: 现在,我的变量结果返回为: abc@domain.com,def@domain.com 但我需要这份申报表: 'abc@domain.com','def@domain.com'。 所以每封邮件都附在一个报价单上,问题是我找不到如何在我的代码中实现这一点, 任何想法,提前感谢

  • 问题内容: 我想在引号中打印一个变量。我想打印出来 我已经尝试了很多,但有效的方法是: –但是输出中有两个空格-> 当我不使用逗号时,会出现语法错误。 如何在一对引号内打印内容? 问题答案: 您可以使用: 在这里了解格式:格式 在3x中,您可以使用:

  • 我在DotCMS中有多种语言。语言变量可以包含单引号或双引号。我在javascript中通过用引号包装这些变量来访问这些变量。 我怎样才能解决这个问题?