환경 변수를 정의할 때 "명령을 찾을 수 없습니다"라는 메시지가 나타납니다.

환경 변수를 정의할 때 "명령을 찾을 수 없습니다"라는 메시지가 나타납니다.

을 입력하면서 HELLO="hello"HELLO라는 환경 변수가 생성되기를 원합니다. 대신 오류가 발생합니다. HELLO=hello: Command not found.여기서 무엇이 잘못될 수 있나요?

저는 Debian GNU/Linux 9.12, 공유 서버를 사용하고 있고 루트가 아닙니다.

답변1

이는 쉘 변수를 설정하는 올바른 명령입니다. 또는 POSIX 쉘에서. 그러나 실제로 실행하는 명령의 환경으로 변수를 내보내지는 않습니다. 이를 위해서는 export HELLO추가적인 것이 필요합니다.

예를 들어 참조하십시오.Bash에서 내보낸 쉘 변수와 내보내지 않은 쉘 변수의 차이점차이를 위해.

그럼에도 불구하고 귀하가 받은 오류 메시지는 tcsh다음과 같은 오류 메시지와 일치하는 것 같습니다.

$ tcsh
~> HELLO="hello"
HELLO=hello: Command not found.

다양한 언어가 있습니다. setenv HELLO "hello"명령으로 내보내지는 변수를 설정하는 데 사용되거나 set HELLO = "hello"내보내지지 않는 변수를 설정하는 데 사용됩니다. 또는 POSIX와 유사한 셸을 원하는 경우 셸을 다른 것(예: Bash 또는 Zsh)으로 변경할 수 있는지 확인해보세요.

관련 정보