PATH='$PATH:/Path/to/bin'이 내 PATH를 덮어쓰는 이유는 무엇입니까?

PATH='$PATH:/Path/to/bin'이 내 PATH를 덮어쓰는 이유는 무엇입니까?

명령줄에서 디렉터리를 내보내지 않고 PATH에 추가합니다.

$ PATH='$PATH:/home/user/anaconda3/bin'

어떤 이유로 PATH 환경 변수를 덮어썼지만 왜 이런 일이 발생하는지 잘 모르겠습니다. 위의 PATH는 여전히 콜론으로 구분된 디렉터리 목록입니다. 그러면 문제가 무엇입니까? 보통 PATH에 새 디렉터리를 추가하는데, 이번에는 디렉터리 추가를 테스트했는데 예상치 못한 결과가 나왔습니다.

이제 가장 간단한 명령을 시도할 때마다 ls다음 오류가 발생합니다(나는 기대), 내가 입력한 명령을 설치하라는 메시지가 나타납니다.

bash: sed: command not found...

또한 실제로 PATH를 내보내는 것이 아니기 때문에 후속 명령은 위 PATH 변수의 환경을 상속해서는 안 됩니다. 그러면 이러한 일이 발생할 수 있는 이유는 무엇입니까?

문제를 해결하기 위해 새 터미널 창을 열 수 있다는 것을 알고 있지만 왜 이런 일이 발생하는지 알고 싶습니다.

답변1

작은따옴표는 매개변수 확장을 억제합니다.

$ foo=42
$ echo '$foo' "$foo"
$foo 42

관련 정보