Linux에서 변수를 영구적으로 내보내는 방법?
RHEL6을 실행 중이며 다음과 같은 환경 변수를 내보냈습니다.
export DISPLAY=:0
터미널이 닫히면 해당 변수가 손실됩니다. 이 변수 값이 항상 특정 사용자에게 존재하도록이를 영구적으로 추가하려면 어떻게해야합니까?
당신은 예를 들어, 쉘 설정 파일에 추가 할 수 있습니다 $HOME/.bashrc
이상 세계에서 /etc/environment
.
다음과 같이 영구 환경 변수를 설정하려면 세 개의 파일을 편집해야합니다.
-
~ / .bashrc
터미널 창을 열면이 파일이 실행됩니다. 따라서 모든 터미널 창에서 영구 환경 변수를 사용하려면이 파일 끝에 다음 줄을 추가해야합니다.
export DISPLAY = 0 ~ / .profile
bashrc 와 마찬가지로
OS의 모든 로그인에서 환경 변수를 가지려면이 파일의 끝에 언급 된 명령 줄을 넣어야합니다.
/ etc / 환경
터미널 창뿐만 아니라 모든 창 또는 응용 프로그램에서 환경 변수를 원하면이 파일을 편집해야합니다. 이 파일의 끝에 다음 명령을 추가하십시오.
DISPLAY = 0
이 파일에서는 내보내기 명령 을 작성할 필요가 없습니다.
일반적으로이 변경 사항을 적용하려면 컴퓨터를 다시 시작해야합니다. 그러나 다음 명령으로 bashrc 및 프로파일 에 변경 사항을 적용 할 수 있습니다 .
$ source ~/.bashrc
$ source ~/.profile
그러나 / etc / environment의 경우 다시 시작할 수밖에 없습니다 (내가 아는 한)
간단한 해결책
#!/bin/bash
echo "Enter variable name: "
read variable_name
echo "Enter variable value: "
read variable_value
echo "adding " $variable_name " to environment variables: " $variable_value
echo "export "$variable_name"="$variable_value>>~/.bashrc
echo $variable_name"="$variable_value>>~/.profile
echo $variable_name"="$variable_value>>/etc/environment
source ~/.bashrc
source ~/.profile
echo "do you want to restart your computer to apply changes in /etc/environment file? yes(y)no(n)"
read restart
case $restart in
y) sudo shutdown -r 0;;
n) echo "don't forget to restart your computer manually";;
esac
exit
이 줄을 shfile에 저장 한 다음 실행 가능하게 만들고 실행하십시오!
.bashrc
또는에 줄을 추가하십시오 .profile
. 설정 한 변수 $HOME/.profile
는 현재 사용자 에 대해 활성화 되어 있으며 변수 /etc/profile
는 전역입니다. 는 .bashrc
각각의 bash 세션 시작에 당겨진다.
우분투 시스템에서 다음 위치를 사용하십시오.
JAVA_PATH=/usr/local/java
상점 형식의 시스템 전체 지속 변수/etc/environment
export PATH="$JAVA_PATH:$PATH"
저장 과 같은 변수를 참조하는 시스템 전체 지속 변수/etc/.bashrc
PATH DEFAULT=/usr/bin:usr/local/bin
상점 형식의 사용자 고유 지속 변수~/.pam_environment
For more details on #2, check this Ask Ubuntu answer. NOTE: #3 is the Ubuntu recommendation but may have security concerns in the real world.
A particular example: I have Java 7 and Java 6 installed, I need to run some builds with 6, others with 7. Therefore I need to dynamically alter JAVA_HOME
so that maven picks up what I want for each build. I did the following:
- created
j6.sh
script which simply does exportJAVA_HOME=...
path to j6 install... - then, as suggested by one of the comments above, whenever I need J6 for a build, I run source
j6.sh
in that respective command terminal. By default, myJAVA_HOME
is set to J7.
Hope this helps.
참고URL : https://stackoverflow.com/questions/13046624/how-to-permanently-export-a-variable-in-linux
'Programming' 카테고리의 다른 글
CSS“컬러”와“글꼴 컬러” (0) | 2020.06.28 |
---|---|
파이썬 사전에서 임의의 값을 얻는 방법 (0) | 2020.06.28 |
매핑 할 객체 배열없이 React.js에서 요소를 반복하고 렌더링하는 방법은 무엇입니까? (0) | 2020.06.28 |
이미지 이름을 알고있는 경우 이미지의 리소스 ID를 어떻게 얻습니까? (0) | 2020.06.28 |
머티리얼 디자인 가이드 라인처럼 보이는 SearchView 생성 (0) | 2020.06.28 |