"ssh user@host echo $PATH"는 원격 경로 대신 로컬 경로를 제공합니다.

"ssh user@host echo $PATH"는 원격 경로 대신 로컬 경로를 제공합니다.

왜 이 명령인가

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.

관련 정보