“ $ var”和$ {var}有什么区别?

Arne

在中扩展变量时bash,通常使用${var},但是我经常看到的是,"$var".这些变量用于将参数传递给脚本中的bash函数。我不需要它们,或者一定要他们使用通配符或其他奇特的东西。它仅用于传递字符串。那么哪种扩展更适合这种情况?

00

它们彼此正交,并且您需要了解两者:

这是Bash中的一个大主题,可能会导致无尽的机会产生一些细微的错误,因此这里的任何解释都将是不完整的。考虑到这一点:

  • ${var}而不是$var将变量$var与任何周围的代码分开例如:

    $ var=foo
    $ echo $variable
    

    这不会打印任何内容(除非variable也定义了变量)。

    $ echo ${var}iable
    fooiable
    
  • “ $ var”确保在变量的内容上不发生单词拆分:

    $ var='foo    bar'
    $ echo $var
    foo bar
    $ echo "$var"
    foo    bar
    

同样,这只是表面上的划痕。如果您想编写可靠的Bash脚本,则链接的文章(以及几乎所有的wiki)都是学习的好地方。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

python中的numpy var()和statisticsvariant()有什么区别?

使用“ let”和“ var”有什么区别?

“ var = $ {var:-word}”和“ var = $ {var:= word}”之间有什么区别?

var和Typescript中的let有什么区别?

Bash shell中的$ {var},“ $ var”和“ $ {var}”之间有什么区别?

动态(C#4)和var有什么区别?

Scala中的var和val定义有什么区别?

Swift中的var和弱var有什么区别

swift中的if var和if if有什么区别?

var和&(* var)有什么区别

(var> x)和(x <var)之间有什么区别?

Rust中var和_var有什么区别?

R对象中的$和attr(,var)有什么区别?

在PowerShell中“ $($ var)”和(“ $ var”)有什么区别

/ tmp和/ var / tmp有什么区别?

dmesg输出和/ var / log / messages有什么区别?

`VAR = ...`和`export VAR = ...`有什么区别?

int var []和int var [0]有什么区别

$ var [] = array()和$ var = array()有什么区别?

var i = somevalue和有什么区别?和var i; i =某个值;

$ {var:-word}和$ {var-word}有什么区别?

echo $var 和 echo "$var" 有什么区别

javascript 中的 var [{}] 和 var{} 与打字稿中的 let[{}] 和 let {} 有什么区别?

`${var:-value}` 和 `${var:=value}` 有什么区别?

php 中的 $var 和 ($var) 有什么区别?

++*var++ 和 ++Var++ 有什么区别?

del [[var]] 和 del var python 有什么区别

char *var= NULL; 和有什么区别?和 char var[LENGTH + 1];?

print(var,var) 和 print(var),(var) 有什么区别?