shell变量加双引号

当引用变量时通常有两种方法:加双引号,与不加双引号

eg:var="a = b"

  1. 如果普通引用var时,$var, "$var"无区别

  2. 但是当在判断语句中时,两者时不同的,$var判断的是a = b,而"$var"判断的是字符串

对于$*, $@,要注意:

  1. 不加双引号时,两者均表示列表

  2. 加双引号时,"$*"表示一个字符串;"$@"表示列表

eg:

$1="hello"

$2="world you"

那么:$*="hello" "world" "you"

            $@="hello" "world" "you"

            "$*"="hello world you"

            "$@"="hello" "world you"

所以判断字符串时,最好加上双引号;

遍历位置参数时,最好加上双引号;

你可能感兴趣的:(shell变量加双引号)