.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 파일을 실행해도 환경 변수가 내보내지지 않습니다. 내보내려면 각 줄을 수동으로 실행해야 합니다. 도와주세요

답변1

source실행이 아닌 ( ) 파일이 필요합니다 ..

. env.sh

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

이렇게 하면 source호출 세션에서 매개변수를 사용할 수 있습니다. 그리고 export당신이 사용하고 있는 하위 프로세스.


shUbuntu의 기본 시스템 쉘( )은 대화형 쉘로 생성되지 dash않습니다 . 실행할 때 shebang이 정확하고 필수인지 확인하십시오. 또한 -ing을 할 때는 shebang이 필요하지 않고 그냥 내려놓으면 됩니다.bashgnome-terminalbashsource

관련 정보