$, & 기호를 올바르게 에코하는 방법은 무엇입니까?

$, & 기호를 올바르게 에코하는 방법은 무엇입니까?

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

관련 정보