유닉스에서 새로운 환경 변수를 만들고 프로그램에서 사용하는 방법 ??????UNIX에서 새 환경 변수를 만드는 방법 ....?
답변
쉘에 따라 다릅니다. bash
, 당신은 사용할 수 있습니다
export myvar=xyz
변수를 설정하고 다른 프로그램에서 사용할 수 있도록 것이다.
당신이 프로그램의 하나 호출을 위해 그것을 설정하려면
, 당신은 사용할 수 있습니다myvar=xyz ./myprog
이는 myprog
프로세스 설정하지만이 종료 한 후에해야합니다.
setenv (3) 및 getenv (3) 기능을 참조하십시오.
실행중인 쉘을 알 수 있습니다. ps -o comm= -p $$
- 나는 그것이 보편적이라고 생각합니다. 당신은 하나의 특정 실행에 대한 변수를 생성 할 경우 전체 쉘 세션을 만들려면 그래서, bash는 특정 유사한 쉘 ...에
, 당신은
MYVAR=value the_command_that_needs_myvar
을 수행 할 수 있습니다 (즉, .
export MYVAR=value
을 ... 그리고 당신은 실행할 수 있습니다 : 때까지) 로그 아웃
the_command_that_needs_myvar
을 ... 요만큼 u는 해당 세션 중에 좋아요. 을 갖는 것으로서 여전히 MYVAR
을 볼 수 있습니다.
사용자가 직접 로그인 세션을 설정하려면 ~/.profile
에 입력하십시오.
bash의 초기화 파일은 큰 하나의 큰 WTF가 될 수 있습니다. 로컬로 네트워크를 통해 대화식으로 실행되는지 여부와 또는 bash
으로 호출되는지 여부에 따라 ~/.bashrc
, ~/.profile
및 ~/.bash_profile
의 조합을 선택적으로 읽습니다. 자세한 내용은 bash
매뉴얼 페이지의 파일 섹션을 참조하십시오.
모든 사용자에 대해 설정하려면 로그인 할 때마다 /etc/profile
파일에 넣으십시오. (/etc/environment
도 있지만 널리 사용되는 것은 확실하지 않습니다.)
자세한 내용은 "How to set environment variable for everyone under my linux system?"을 확인하십시오.
(조심이 충고의 일부는 당신이, 또는 다른 사용자가 등 bash는, 대시, CSH, KSH를 사용하는 경우에 따라 달라집니다 ...하지만 대부분의 사용 사례에 대해 작동합니다.) 인원으로
실제로/etc/environment,/etc/profile, ~/.profile, ~/.kshrc, ~/.cshrc, ~/.bash_profile, ~/.bash_login, ~/.bashrc 및 모든 희미한 마음을 가진 다른 가능성은 없습니다 :-) – paxdiablo
[The UNIX Hater 's Handbook] (http://www.art.net/~hopkins/Don/unix-haters/handbook.html) - 저를 확실히 생각하게 만듭니다. 나쁜 옛날부터 남은 WTFery. 개인적으로'bash' 설정 파일에 대해 조금 더했습니다. – detly
말했다, 그것은 껍질에 달려있다. – Alan