명령줄에서 셸 변수와 환경 변수 간의 차이 보기

2683 단어 LinuxBash
최근에 다시 조사했으니 이 기회를 틈타 총결해 보자.

입문


케이스 변수는 현재 실행 중인 케이스에서만 유효한 변수이며, 환경 변수는 케이스에서 실행되는 명령으로도 계승할 수 있는 변수입니다.
재입문체로 기억하는 Linux의 기본: ITprohttp://itpro.nikkeibp.co.jp/article/COLUMN/20060620/241337/
그리면 ↓ 느낌인가?명령으로 이것을 확인하다.

껍질 변수 기초


"="를 사용하여 변수를 저장할 수 있습니다.또한 변수의 시작 부분에 "$"를 붙여서 저장된 값을 참조할 수 있습니다.
CLI
[root@localhost ~]# echo $HOGE
[root@localhost ~]# HOGE=hogehoge
[root@localhost ~]# echo $HOGE
hogehoge

환경 변수 정보


상술한 것을'껍질 변수'라고 하는데, 이 껍질 안에서만 유효하다.예를 들어, 다음 셸 스크립트를 준비합니다.
hoge.sh
#!/bin/sh
echo ${HOGE}
실행 중에는 아무것도 표시되지 않습니다.
CLI
[root@localhost ~]# sh hoge.sh
  
그러나 내보내기를 더하면 이 변수는 환경 변수가 되고 하위 프로세스에서도 유효합니다.셸 스크립트에서 변수를 호출했습니다.
CLI
[root@localhost ~]# export HOGE
[root@localhost ~]# sh hoge.sh
hogehoge ←表示される

반대로 하위 환경 변수를 부모 세대에 계승해야 한다


기본적으로 부모 세대는 하위 세대의 환경 변수를 사용할 수 없다.
셸 스크립트에서 환경 변수를 정의하려고 했지만 이 환경 변수는 부모 셸에서 유효하지 않습니다.hoge2.sh를 만들고 테스트합니다.
CLI
[root@localhost ~]# cat hoge2.sh
#!/bin/sh
HOGE2=hoge2
export HOGE2
[root@localhost ~]# sh hoge2.sh
[root@localhost ~]# echo $HOGE2
  ←何も表示されない
그러나 소스 명령을 사용하여 현재 셸에서 환경 변수를 정의할 수 있습니다.
소스 hoge로서, 자신의 손으로 파일 hoge에 쓴 문자열을 하나하나 타자하는 것과 같다.
UNIX의 방 명령 검색: source(*BSD/Linux)http://x68000.q-e-d.net/~68user/unix/pickup?source
CLI
[root@localhost ~]# source hoge2.sh
[root@localhost ~]# echo $HOGE2
hoge2

참고 자료



만화에서 볼 수 있듯이 리눅스계 여자(일경 BP Next ICT 선서) posted with amazlet at 16.02.24
일경BP사(2015-02-19) 매출액 순위: 4730
Amazon.co.jp에서 자세히 보기

좋은 웹페이지 즐겨찾기