Linux에서 env
의 사람은 명령을 실행하기 전에 새 환경 변수를 설정할 수 있음을 나타냅니다. 불행히도, 리눅스 시스템에서 파일의 새 뱅크 (shebang)에 새 변수를 설정하면 파일이 실행되지 않습니다./usr/bin/env에 환경 변수를 설정하면 Linux에서 프로세스가 중지됩니다.
#!/usr/bin/env VAR1=foo bash
echo $VAR1
이 파일을 CentOS 또는 Ubuntu 컴퓨터에서 실행할 때 바로이 파일이 있습니다. 나는 특히 기괴한 찾을 무엇
$ ./shell-env.sh
<nothing happens>
이는 BSD env
와 OS X에 완벽하게 잘 작동합니다.
$ ./shell-env.sh
foo
$
는 BSD env
및 Linux env
사이 단지 차이가 있습니까? 리눅스 용 맨 페이지가 BSD에서와 같은 방식으로 작동해야하는 이유는 무엇입니까?
P. 내 유스 케이스 여기에 PATH
변수를 재정의 할 수 있으므로 시스템에 ruby
찾을 시도 할 수 있지만 PATH
에 있지 않습니다.
미리 감사드립니다.
'경로'를 재정의하고 있습니까? 그렇다면 새로운 PATH에'bash'가 포함되어 있습니까? –
'env' 명령을 사용하면 리눅스에서 명령 줄에서 명령을 실행하기 전에 변수를 설정할 수 있지만 리눅스에서 명령을 실행할 수는 없습니다. – mwp
이 Q **는 S.E.에 더 적합 할 수 있습니다. 관련 사이트 http://unix.stackexchange.com (Unix 및 Linux). Q 하단의 '깃발'링크를 사용하여 운영자에게 이동하도록 요청하십시오. 2 개의 다른 사이트에 같은 Q를 게시하지 마십시오. 고마워, 행운을 빌어. – shellter