2010-06-14 1 views

답변

6

쉘에 따라 다릅니다. bash, 당신은 사용할 수 있습니다

export myvar=xyz 

변수를 설정하고 다른 프로그램에서 사용할 수 있도록 것이다.

당신이 프로그램의 하나 호출을 위해 그것을 설정하려면

, 당신은 사용할 수 있습니다

myvar=xyz ./myprog 

이는 myprog 프로세스 설정하지만이 종료 한 후에해야합니다.

1

setenv (3) 및 getenv (3) 기능을 참조하십시오.

12

실행중인 쉘을 알 수 있습니다. 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를 사용하는 경우에 따라 달라집니다 ...하지만 대부분의 사용 사례에 대해 작동합니다.) 인원으로

+0

실제로/etc/environment,/etc/profile, ~/.profile, ~/.kshrc, ~/.cshrc, ~/.bash_profile, ~/.bash_login, ~/.bashrc 및 모든 희미한 마음을 가진 다른 가능성은 없습니다 :-) – paxdiablo

+0

[The UNIX Hater 's Handbook] (http://www.art.net/~hopkins/Don/unix-haters/handbook.html) - 저를 확실히 생각하게 만듭니다. 나쁜 옛날부터 남은 WTFery. 개인적으로'bash' 설정 파일에 대해 조금 더했습니다. – detly