&a
当已经定义了变量时,在屏幕上输出a
。这是我的 bash 中发生的事情:
localhost:~ $ a=5
localhost:~ $ echo $$a
83079a
localhost:~ $ echo ^$a
^5
localhost:~ $
我就是无法得到$a
。
我找到了这个帖子:https://stackoverflow.com/questions/4087695/escaping-ampersands-in-windows-batch-files
它说 echo a ^& b
will get a & b
,但是通过我的 bash 我得到了这个:
localhost:~ $ echo a ^& b
[1] 83134
a ^
-bash: b: command not found
答案1
echo
对变量使用双引号
localhost:~ $ a=5
localhost:~ $ echo "$a"
5
localhost:~ $ echo '$a'
$a
localhost:~ $ echo "a & b"
a & b
或者反斜杠\
来转义而不使用引号
localhost:~ $ echo a \& b
a & b
localhost:~ $ echo \$a
$a
答案2
r@S:/tmp # a=10
r@S:/tmp # echo $a
10
r@S:/tmp # echo \$a
$a
r@S:/tmp #