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

什么时候应该将引号环绕在shell变量周围?

刘弘新
2023-03-14
xdg-open $URL
[ $? -eq 2 ]
xdg-open "$URL"
[ "$?" -eq "2" ]

共有1个答案

慕容雅珺
2023-03-14

一般规则:如果它可以是空的,或者包含空格(或者任何空格)或者特殊字符(通配符),则引用它。不引用带有空格的字符串通常会导致shell将单个参数分解为多个参数。

$?不需要引号,因为它是一个数值。$url是否需要它取决于您在其中允许什么,以及如果参数为空,是否仍然需要参数。

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

 类似资料:
  • 问题内容: 有人可以告诉我是否应该在Shell脚本中的变量周围加上引号吗? 例如,以下是正确的: 要么 如果是这样,为什么? 问题答案: 一般规则:如果它可以为空或包含空格(或任何空白)或特殊字符(通配符),则将其引号。不使用空格引用字符串通常会导致外壳将单个参数分解为多个参数。 因为它是数字值,所以不需要引号。是否需要它取决于您在其中允许的内容以及是否为空(如果为空)。 我倾向于总是出于习惯而引

  • 美元符号($)是命名变量的有效字符,例如,但是当我们讨论命名约定时,我应该在什么时候使用这个符号呢? 例如,下划线最常用来分隔单词,因为不允许有空格。

  • 问题内容: 美元符号($)是用于命名变量的有效字符,例如,但是当我们谈论命名约定时,何时应使用该符号? 例如,下划线最常用于分隔单词,因为不允许使用空格。 问题答案: 从Java语言规范中的标识符开始: 该字符应仅在机械生成的源代码中使用,或很少用于访问旧系统上的现有名称。

  • 问题内容: 我是OOP范式的新手,所以可能对此问题有一个简单的解释… 您是否总是需要在类中声明公共对象范围的变量?例如: 在此代码中,即使是唯一声明的变量,也一样可访问和可用-似乎就像我将其声明为public一样。 如果未声明的类变量始终可以这样访问,那么将它们全部预先声明的意义何在? 问题答案: 该变量不是未初始化的,只是未声明的。 在类定义中声明变量是提高可读性的一种方式。另外,您可以设置可访

  • 问题内容: 最近,我在WeakReferences中遇到了一段Java代码- 尽管在引入它们时会遇到它们,但我从未见过部署它们。这是应该常规使用的还是仅在遇到内存问题时才使用的东西?如果是后者,是否可以轻松地对其进行改造,或者代码需要进行认真的重构?一般的Java(或C#)程序员通常可以忽略它们吗? 编辑 过度热情地使用WR会造成任何损害吗? 问题答案: 弱引用都是关于垃圾回收的。一个 标准的 对