!["ssh user@host echo $PATH"는 원격 경로 대신 로컬 경로를 제공합니다.](https://linux55.com/image/162574/%22ssh%20user%40host%20echo%20%24PATH%22%EB%8A%94%20%EC%9B%90%EA%B2%A9%20%EA%B2%BD%EB%A1%9C%20%EB%8C%80%EC%8B%A0%20%EB%A1%9C%EC%BB%AC%20%EA%B2%BD%EB%A1%9C%EB%A5%BC%20%EC%A0%9C%EA%B3%B5%ED%95%A9%EB%8B%88%EB%8B%A4..png)
왜 이 명령인가
ssh user@host echo $PATH
또는
ssh user@host -t echo $PATH
원격 시스템 대신 로컬 시스템의 경로를 반환하시겠습니까?
이는 다음과 같은 원격 명령을 실행하는 것을 의미합니다.
ssh user@host command
이 명령은 원격 컴퓨터에서 검색되지만 로컬 컴퓨터에 정의된 경로를 사용합니다. 이것은 약간 이상한 동작입니까, 아니면 제가 잘못한 것입니까?
답변1
주문하다
ssh user@host echo $PATH
변수는 따옴표 없이 명령줄에 제공되므로 echo
로컬 값에 관계없이 원격 호스트에서 실행됩니다 .$PATH
얻기 위해서는외딴경로를 지정하여 로컬 셸이 이 변수를 확장하지 않도록 합니다.
ssh user@host 'echo $PATH'
명령 주위의 작은따옴표는 로컬 쉘 확장을 방지합니다 $PATH
.