필요한 경우 일부 환경 변수를 설정하기 위해 다음 스크립트를 작성했습니다.
#!/bin/sh
export BASE=/home/develop/trees
echo $BASE
export PATH=$PATH:$BASE
echo $PATH
명령과 결과 아래에서 터미널에서 볼 수 있습니다. 스크립트는 실행되지만 변수는 마지막에 설정되지 않습니다.
~$: ./script.sh
/home/develop/trees
/bin:......:/home/develop/trees
~$: echo $BASE
~$:
뭐가 문제 야? 미리 감사드립니다. 미르코
export
서브 쉘에 변수를 전달할 필요는 없습니다 . 서브 쉘은 변수 및 함수 등을 포함하여 현재 쉘의 사본입니다. 내 보낸 변수는 프로세스가 다른 쉘인지 여부에 관계없이 쉘에서 생성 된 새 프로세스로 복사됩니다. 둘째,.
소싱을위한 POSIX 명령입니다. Bash는source
더 읽기 쉬운 동의어로 추가 되지만 sh에서 사용할 수는 없습니다. 당신이 놀라움을 피하고 싶다면 마지막. ./script
대신. script
. mywiki.wooledge.org/BashFAQ/060