도트 파일에서 $ PATH를 수정하지 않은 사용자가 있습니다. 정확히 시스템 기본 설정입니다. 로그인 쉘에서 :
$ ssh example.com
user@example.com:~$ cat /tmp/hello.hs
#!/bin/bash
echo "$SHELL"
echo "$PATH"
user@example.com:~$ /tmp/hello.hs
/bin/bash
/usr/local/bin:/usr/bin:/bin
에 지정된대로 정확하게 /etc/profile
. 이것은 다소 예기치 않은 것을 발견합니다.
$ ssh example.com '/tmp/hello.sh'
/bin/bash
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
내가 말했듯이에서 ~/.bashrc
또는에서 $ PATH의 수정은 없습니다 /etc/bash.bashrc
. ~/.ssh/environment
둘 다 아닙니다 . 는 ssh(1)
환경 변수가 선언 PATH
이다
ssh를 컴파일 할 때 지정된대로 기본 PATH로 설정하십시오.
그러나 StackOverflow 의이 스레드 와이 메일 링 목록 기사는 / etc / profile, 쉘 시작 파일 중 하나 등을 수정하여 주어진 명령의 $ PATH에 영향을 줄 수 있어야 한다고 제안합니다 .
무슨 일이야?