developer tip

Bash를 사용하여 Linux에서 환경 변수 설정

copycodes 2020. 11. 3. 08:17
반응형

Bash를 사용하여 Linux에서 환경 변수 설정


에서는 tcsh다음 스크립트가 작동합니다.

#!/bin/tcsh
setenv X_ROOT /some/specified/path

setenv XDB    ${X_ROOT}/db
setenv PATH   ${X_ROOT}/bin:${PATH}

xrun -d xdb1 -i $1 > $2

tcsh setenvBash 기능 과 동등한 것은 무엇입니까 ?

직접 아날로그가 있습니까? 환경 변수는 실행 파일을 찾기위한 것입니다.


export VAR=valueVAR을 값으로 설정합니다. 와 같이 공백을 원하면 작은 따옴표로 묶습니다 export VAR='my val'. 변수를 보간하려면와 같이 큰 따옴표를 사용하십시오 export VAR="$MY_OTHER_VAR".


사람들이 종종 글쓰기를 제안하는 이유

VAR=value
export VAR

짧은 대신

export VAR=value

긴 형식이 짧은 형식보다 더 다른 셸에서 작동한다는 것입니다. 을 (를) 다루고 있다는 것을 안다면 bash물론 둘 다 잘 작동합니다.


Linux에서 Bash를 사용하여 로컬 및 환경 변수 설정

Bash에서 LOL이라는 변수에 대한 로컬 또는 환경 변수를 확인하십시오.

el@server /home/el $ set | grep LOL
el@server /home/el $
el@server /home/el $ env | grep LOL
el@server /home/el $

온 전성 검사, LOL이라는 로컬 또는 환경 변수 없음.

환경이 아닌 로컬에서 LOL이라는 로컬 변수를 설정하십시오. 따라서 설정하십시오.

el@server /home/el $ LOL="so wow much code"
el@server /home/el $ set | grep LOL
LOL='so wow much code'
el@server /home/el $ env | grep LOL
el@server /home/el $

변수 'LOL'은 지역 변수에 있지만 환경 변수에는 없습니다. 터미널을 다시 시작하거나 로그 아웃 / 로그인하거나을 실행하면 LOL이 사라집니다 exec bash.

지역 변수를 설정 한 다음 Bash에서 모든 지역 변수를 지 웁니다.

el@server /home/el $ LOL="so wow much code"
el@server /home/el $ set | grep LOL
LOL='so wow much code'
el@server /home/el $ exec bash
el@server /home/el $ set | grep LOL
el@server /home/el $

하나의 변수를 설정 해제 할 수도 있습니다.

el@server /home/el $ LOL="so wow much code"
el@server /home/el $ set | grep LOL
LOL='so wow much code'
el@server /home/el $ unset LOL
el@server /home/el $ set | grep LOL
el@server /home/el $

지역 변수 LOL이 사라졌습니다.

지역 변수를 환경 변수로 승격 :

el@server /home/el $ DOGE="such variable"
el@server /home/el $ export DOGE
el@server /home/el $ set | grep DOGE
DOGE='such variable'
el@server /home/el $ env | grep DOGE
DOGE=such variable

내 보내면 로컬 변수와 환경 변수로 모두 표시됩니다.

위에서 내 보낸 변수 DOGE는 Bash 재설정 후에도 유지됩니다.

el@server /home/el $ exec bash
el@server /home/el $ env | grep DOGE
DOGE=such variable
el@server /home/el $ set | grep DOGE
DOGE='such variable'

모든 환경 변수를 설정 해제합니다.

로그 아웃 / 로그인없이 모든 환경 변수를 재설정하려면 Chuck Norris 캔을 꺼내야합니다.

el@server /home/el $ export CAN="chuck norris"
el@server /home/el $ env | grep CAN
CAN=chuck norris
el@server /home/el $ set | grep CAN
CAN='chuck norris'
el@server /home/el $ env -i bash
el@server /home/el $ set | grep CAN
el@server /home/el $ env | grep CAN

환경 변수를 만든 다음 터미널을 재설정하여 제거했습니다.

Or you could set and unset an environment variable manually like this:

el@server /home/el $ export FOO="bar"
el@server /home/el $ env | grep FOO
FOO=bar
el@server /home/el $ unset FOO
el@server /home/el $ env | grep FOO
el@server /home/el $

VAR=value sets VAR to value.

After that export VAR will give it to child processes too.

export VAR=value is a shorthand doing both.


I think you're looking for export - though I could be wrong.. I've never played with tcsh before. Use the following syntax:

export VARIABLE=value

참고URL : https://stackoverflow.com/questions/234742/setting-environment-variables-in-linux-using-bash

반응형