/ usr / bin / env에서 환경 변수를 설정하면 Linux에서 프로세스가 중단됨

아서 몰트 슨

envLinux 의 man 은 명령을 실행하기 전에 새로운 환경 변수를 설정할 수 있음을 나타내는 것처럼 보입니다. 불행히도 Linux 시스템에서 파일의 shebang에 새 변수를 설정하면 파일이 실행되지 않습니다.

#!/usr/bin/env VAR1=foo bash
echo $VAR1

CentOS 또는 Ubuntu 컴퓨터에서이 파일을 실행하면 파일이 거기에 있습니다.

$ ./shell-env.sh
<nothing happens>

특히 이상하게 느껴지는 것은 이것이 BSD를 사용하는 OS X에서 완벽하게 작동한다는 것 env입니다.

$ ./shell-env.sh
foo
$

이것이 BSD env와 Linux 의 차이점 env입니까? Linux의 man 페이지에서 BSD와 동일한 방식으로 작동해야한다고 말하는 이유는 무엇입니까?

추신 여기 내 사용 사례는 PATH변수 를 재정의하는 것이므로 ruby시스템에서 를 찾을 수 있지만 PATH.

미리 감사드립니다!

mwp

어떤 종류의 래퍼 스크립트를 사용하지 않고 Ruby 스크립트를 실행하기 전에 환경을 조작하는 방법이 있지만 예쁘지는 않습니다.

#!/bin/bash
export FOO=bar
exec ruby -x "$0" "$@"

#!ruby
puts ENV['FOO']

이것은 일반적으로 예를 들어 PATH또는 LD_LIBRARY_PATH프로그램을 실행하기 전에 조작해야하는 난해한 상황을 위해 예약 되어 있으며 어떤 이유로 든 자체적으로 포함되어야합니다. Perl과 아마도 다른 사람들에게도 작동합니다!

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

chrooted SSH Plesk 호스팅 웹 공간 환경에서 shebang "#! / usr / bin / env bash"를 무시하는 방법

분류에서Dev

Clonezilla 설치-하위 프로세스 / usr / bin / dpkg에서 오류 코드를 반환했습니다 (1).

분류에서Dev

kubuntu-desktop 설치 후 "하위 프로세스 / usr / bin / dpkg에서 오류 코드를 반환했습니다."

분류에서Dev

'/ usr / bin / pg_restore'파일을 찾을 수 없습니다. 환경 설정 대화 상자에서 바이너리 경로를 수정하십시오.

분류에서Dev

E : 하위 프로세스 / usr / bin / dpkg에서 오류 코드를 반환했습니다 (1).

분류에서Dev

E : 하위 프로세스 / usr / bin / dpkg에서 오류 코드를 반환했습니다 (2).

분류에서Dev

udev 하위 프로세스 / usr / bin / dpkg에서 오류 코드 (1)를 반환했습니다.

분류에서Dev

Dpkg 오류 E : 하위 프로세스 / usr / bin / dpkg에서 오류 코드를 반환했습니다 (2).

분류에서Dev

Linux에서 각 프로세스가 한 번 실행될 환경 변수를 설정할 수 있습니까?

분류에서Dev

충족되지 않은 종속성 및 하위 프로세스 / usr / bin / dpkg가 DEBIAN에서 오류 코드 (1) 오류를 반환했습니다.

분류에서Dev

dpkg를 사용할 수 없음-Ubuntu 18.04에서 "E : 하위 프로세스 / usr / bin / dpkg에서 오류 코드 (2)를 반환했습니다."

분류에서Dev

오류 E 수정 방법 : 하위 프로세스 / usr / bin / dpkg에서 오류 코드를 반환했습니다 (1).

분류에서Dev

모든 프로세스에 대해 Linux에서 환경 변수 설정

분류에서Dev

maven 설치 문제 ( '/ usr / bin'은 PATH 환경 변수에 포함되지 않음)

분류에서Dev

구성 스크립트에서 하드 코딩 된 / usr / bin / env

분류에서Dev

DHCP에서 정적으로 변경 (재부팅하면 수정 된 경우 중단됨)

분류에서Dev

MongoDB 설치 오류 / E : 하위 프로세스 / usr / bin / dpkg에서 오류 코드를 반환했습니다 (1).

분류에서Dev

Bash : 명령을 평가하여 단일 하위 프로세스에 대한 환경 변수를 설정할 수 있습니까?

분류에서Dev

인수 순서가 변경되면 프롤로그 통합이 중단됨

분류에서Dev

Ubuntu 20.04에서 procps의 kill 명령 (mv / usr / bin / kill / usr / bin / anotherkill)의 이름을 변경하면 작동이 중지되는 이유는 무엇입니까?

분류에서Dev

E : 하위 프로세스 / usr / bin / dpkg에서 오류 코드 (2)를 반환하는 방법은 무엇입니까?

분류에서Dev

Azure 관리 포털에서 SQL Database의 "보안 사용 액세스"를 "필수"로 설정하면 자동 내보내기가 중단됨

분류에서Dev

"E : 하위 프로세스 / usr / bin / dpkg에서 오류 코드를 반환했습니다 (1)"이것은 무엇을 의미합니까?

분류에서Dev

소프트웨어 설치 문제 : / usr / local / bin에 경로를 추가 할 수 없음

분류에서Dev

Capistrano가 /usr/local/rvm/gems/ruby-2.1.0/bin/rake 대신 / usr / bin / env에서 'rake'를 실행하는 이유는 무엇입니까?

분류에서Dev

Linux에서 / usr / bin 대 / usr / local / bin

분류에서Dev

/ usr / bin에서 권한이 변경되면 일부 응용 프로그램의 작동이 중지되는 이유는 무엇입니까?

분류에서Dev

typed-process에서 새 프로세스에 대한 추가 환경 변수를 설정하는 방법은 무엇입니까?

분류에서Dev

.env에서 getenv () PHP MVC로 환경 변수를로드하는 방법

Related 관련 기사

  1. 1

    chrooted SSH Plesk 호스팅 웹 공간 환경에서 shebang "#! / usr / bin / env bash"를 무시하는 방법

  2. 2

    Clonezilla 설치-하위 프로세스 / usr / bin / dpkg에서 오류 코드를 반환했습니다 (1).

  3. 3

    kubuntu-desktop 설치 후 "하위 프로세스 / usr / bin / dpkg에서 오류 코드를 반환했습니다."

  4. 4

    '/ usr / bin / pg_restore'파일을 찾을 수 없습니다. 환경 설정 대화 상자에서 바이너리 경로를 수정하십시오.

  5. 5

    E : 하위 프로세스 / usr / bin / dpkg에서 오류 코드를 반환했습니다 (1).

  6. 6

    E : 하위 프로세스 / usr / bin / dpkg에서 오류 코드를 반환했습니다 (2).

  7. 7

    udev 하위 프로세스 / usr / bin / dpkg에서 오류 코드 (1)를 반환했습니다.

  8. 8

    Dpkg 오류 E : 하위 프로세스 / usr / bin / dpkg에서 오류 코드를 반환했습니다 (2).

  9. 9

    Linux에서 각 프로세스가 한 번 실행될 환경 변수를 설정할 수 있습니까?

  10. 10

    충족되지 않은 종속성 및 하위 프로세스 / usr / bin / dpkg가 DEBIAN에서 오류 코드 (1) 오류를 반환했습니다.

  11. 11

    dpkg를 사용할 수 없음-Ubuntu 18.04에서 "E : 하위 프로세스 / usr / bin / dpkg에서 오류 코드 (2)를 반환했습니다."

  12. 12

    오류 E 수정 방법 : 하위 프로세스 / usr / bin / dpkg에서 오류 코드를 반환했습니다 (1).

  13. 13

    모든 프로세스에 대해 Linux에서 환경 변수 설정

  14. 14

    maven 설치 문제 ( '/ usr / bin'은 PATH 환경 변수에 포함되지 않음)

  15. 15

    구성 스크립트에서 하드 코딩 된 / usr / bin / env

  16. 16

    DHCP에서 정적으로 변경 (재부팅하면 수정 된 경우 중단됨)

  17. 17

    MongoDB 설치 오류 / E : 하위 프로세스 / usr / bin / dpkg에서 오류 코드를 반환했습니다 (1).

  18. 18

    Bash : 명령을 평가하여 단일 하위 프로세스에 대한 환경 변수를 설정할 수 있습니까?

  19. 19

    인수 순서가 변경되면 프롤로그 통합이 중단됨

  20. 20

    Ubuntu 20.04에서 procps의 kill 명령 (mv / usr / bin / kill / usr / bin / anotherkill)의 이름을 변경하면 작동이 중지되는 이유는 무엇입니까?

  21. 21

    E : 하위 프로세스 / usr / bin / dpkg에서 오류 코드 (2)를 반환하는 방법은 무엇입니까?

  22. 22

    Azure 관리 포털에서 SQL Database의 "보안 사용 액세스"를 "필수"로 설정하면 자동 내보내기가 중단됨

  23. 23

    "E : 하위 프로세스 / usr / bin / dpkg에서 오류 코드를 반환했습니다 (1)"이것은 무엇을 의미합니까?

  24. 24

    소프트웨어 설치 문제 : / usr / local / bin에 경로를 추가 할 수 없음

  25. 25

    Capistrano가 /usr/local/rvm/gems/ruby-2.1.0/bin/rake 대신 / usr / bin / env에서 'rake'를 실행하는 이유는 무엇입니까?

  26. 26

    Linux에서 / usr / bin 대 / usr / local / bin

  27. 27

    / usr / bin에서 권한이 변경되면 일부 응용 프로그램의 작동이 중지되는 이유는 무엇입니까?

  28. 28

    typed-process에서 새 프로세스에 대한 추가 환경 변수를 설정하는 방법은 무엇입니까?

  29. 29

    .env에서 getenv () PHP MVC로 환경 변수를로드하는 방법

뜨겁다태그

보관