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

AGa*_*yer 1 shell

&a当已经定义了变量时,在屏幕上输出a。这是我的 bash 中发生的事情:

localhost:~ $ a=5
localhost:~ $ echo $$a
83079a
localhost:~ $ echo ^$a
^5
localhost:~ $
Run Code Online (Sandbox Code Playgroud)

我就是无法得到$a

我发现这篇文章:/sf/ask/286138681/

它说 echo a ^& bwill get a & b,但是通过我的 bash 我得到了这个:

localhost:~ $ echo a ^& b
[1] 83134
a ^
-bash: b: command not found
Run Code Online (Sandbox Code Playgroud)

tac*_*omi 5

echo对变量使用双引号

localhost:~ $ a=5
localhost:~ $ echo "$a"
5
localhost:~ $ echo '$a'
$a
localhost:~ $ echo "a & b"
a & b
Run Code Online (Sandbox Code Playgroud)

或者反斜杠\来转义而不使用引号

localhost:~ $ echo a \& b
a & b
localhost:~ $ echo \$a
$a
Run Code Online (Sandbox Code Playgroud)