shell变量之辨[2]

[大括号的作用]

我们经常在使用一个变量的时候, 用{}将其包住, 为什么?
#! /bin/bash
xxoo="I am 1";
xxoo2="I am 2";
echo $xxoo2
echo ${xxoo}2
echo ${xxoo2}

猜一猜, 输出结果是?

大括号在shell中, 用于防止变量名称的混淆, 大括号括起来之后表示一个完整的变量名称, 防止中间即被截断

上面的一段代码, 输出的内容是:

I am 2
I am 12
I am 2

[变量的引用和替换]

#! /bin/bash
xxoo="a b   c                   d";
echo $xxoo
echo "$xxoo"
echo '$xxoo'
echo \$xxoo
echo "\$xxoo“

让我们猜一猜, 这种情况下的运行结果?
不使用双引号: 变量替换, 和echo a b    c            d这样形式的结果一样
双引号: 弱引用; 单引号: 强引用

因此实际上, 上面一段程序的输出是:

a b c d
a b   c                   d
$xxoo
$xxoo
$xxoo


本文链接:https://www.poisonbian.com/post/202.html 转载需授权!

分享到:
原文链接:,转发请注明来源!
「shell变量之辨[2]」评论列表

发表评论