如何正确回显 $, & 符号?

如何正确回显 $, & 符号?

&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 ^& bwill 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 # 

相关内容