.sh 파일로 환경 변수 설정하기

.sh 파일로 환경 변수 설정하기

나는 아래와 같은 내용의 env.sh 파일을 만들었습니다.

#!/bin/sh

export M2_HOME=/vagrant/tools/maven
export PATH=$PATH:$M2_HOME/bin
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_65
export ANT_HOME=/usr/local/apache-ant-1.9.7
export MAVEN_HOME=$M2_HOME

하지만 이 sh 파일을 실행해도 env 변수가 내보내지지 않습니다. 내보내려면 각 줄을 수동으로 실행해야 합니다. 도와주세요

답변1

다음을 실행하지 않고 파일을 source( ) 해야 합니다 ..

. env.sh

스크립트를 실행하면 하위 쉘에서 실행되며 내보낸 모든 매개변수는 (하위)쉘이 종료되면 상위 쉘에 영향을 주지 않고 범위를 벗어나게 됩니다.

그렇게 하면 source호출 세션에서 매개변수를 사용할 수 있습니다. 또한 하위 프로세스에 대해서도 마찬가지입니다 export.


shUbuntu의 기본 시스템 셸( ) 은 가 dash아니며 대화형 셸로 생성됩니다 . 실행하는 동안 Shebang이 정확하고 원하는 것인지 확인하십시오. 또한 -ing하는 동안 shebang이 필요하지 않으므로 삭제할 수 있습니다.bashgnome-terminalbashsource

관련 정보