본문 바로가기

BashShell Programming

3. Customizing Your Environment

3. Customizing Your Environment

당신은 책상(환경) 환경을 꾸미는데 있어서 항상 찾기 쉬운 곳에 펜을 두거나, 전화번호들을 세팅해 두는 등과 같이(컨셉) 당신에게 맞는 환경으로 구성한다. 일반적으로 당신이 당신 방식으로 환경을 설정하면 할 수록 너에게 맞춤 식 환경이 될 것이다. 그러므로 가장 효율적인(생산적인) 사용자의 환경인 것이다.

유사하게, Unix shell file, 디렉토리, 표준 입출력과 같은 컨셉(개념)들을 제공해 준다.

반면에 unix 자체 shell이 제공해 주는 이 것들을 작업할 수 있게 하는 도구들을 제공한다. 그 도구에는 파일 조작 커멘드, text 편집기 그리고 프린트 큐와 같은 것들이 있다.

 

3.1 bash 제공하는 4가지 중요한 특징

- Special  files

- Aliases

- Options

- Variables(변수)

3.1.1 Special  files

: 사용자가 로그인, 로그아웃, 새로운 쉘을 생성 할 때 bash를 이용해서 읽어오는 파일

 

-      file, bash_profile, .bash_logout, .bashrc

3.1.2  Aliases

: 커맨드나 커맨드 문자열의 동의어로 사용자가 쉽게 정의할 수 있음.

3.1.3  Options

: 사용자가 원하는 환경을 option 통해서 on/off 컨트롤 있다.

3.1.4  Variables(변수)

: 변경가능한 값들은 이름으로 나타낸다. shell과 다른 프로그램들은 변수에 선언된 값들을 통해 작동하게 된다

 

- 참고-

이 특징들이 한번만 사용할 수 있는 것은 아니지만 그 특징들은 사용자에게 더 맞는 환경을 구성하기 위해 기초[기반] 형성하는 것 들이다다양한 shell들을 Unix에서 사용가능 한 것도 일반적인 특징 중 하나이다.

 

3.2 The .bash_profile, .bash_logout, and .bashrc Files

- The .bash_profile, .bash_logout, and .bashrc Files  파일들의 정의

- .bash_profile

- .bash_logout

- .bashrc

- 초기화 파일의 실행

,

3.2.1 The .bash_profile, .bash_logout and .bashrc Files 파일

1.   특징

*   home디렉토리안에 위치

2.   사용

*   사용자가 로그인 할 때, 다른 bash쉘을 불러올 때 사용자 계정정보를 자동으로 세팅해 주는 방법을 제공하고 로그아웃시 명령어를 수행하는 것을 가능하게 하기위해 bash에게 특별한 의미를 지닌다.

3.   파일의 위치

*   system관리자가 유저의 계정을 어떻게 구성해 주냐에 따라 home 디렉토리 안에 이미 존재할 수도 안 할 수도 있다.

*   존재하지 않는다면? /etc/profile 이라는 default 시스템파일만 사용하는 것

*   editor bash파일을 손쉽게 만들 수 있다.

3.2.2 .bash_profile

: bash파일중에 가장 중요한 것중의 하나인 .bash_profile은 데이터와 명령어가 들어 있는 파일로 당신이 시스템에 로그인 할 때 마다 bash로부터 수행되어 지는 파일이다.

 

1.   BASH_PROFILE 기본형태

: 로그인 계정에 기본이 되는 환경을 정의하고 있다. 아래의 환경들은 사용자의 필요에 의해서 변경 가능하다.

PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin

SHELL=/bin/bash

MANPATH=/usr/man:/usr/X11/man

EDITOR=/usr/bin/vi

PS1='\h:\w\$ '

PS2='> '

export EDITOR

 

2.   BASH_PROFILE 변경 과 적용

: .bash_profile의 내용을 바꿨을 경우에는 바로 적용되지 않는다.

*   재 로그아웃 & 로그인 시 적용

*   source  .bash_profile

*   . .bash_profile

 

- 참고-

SOURCE:.bash_procile과 같은 명시되어진 파일들의 변경된 명령어들을 실행시킨다

 

3.2.3 .bash_logout

:로그아웃 ~/.bash_logout 파일이 존재하면 파일을 실행한다. 파일에는 보통 임시 파일을 비우는 명령어, 히스토리 파일을 정리하는 명령어, 로그아웃 시간을 기록하는 명령어 등이 들어있다.

 

3.2.4 .bashrc

: 시스템 전체에 적용되는 함수와 별명들은  /etc/bashrc 파일에서 설정할 있다. 프롬프트는 보통 파일에서 설정된다.

배쉬 스크립트가 실행될 때마다 실행됨. => 쉘실행시 bashrc실행 bash_profile실행됨.

 

3.2.5 사용자 로그인 초기화 파일 읽는 순서

:.bash_procile 같은 명시되어진 파일들의 변경된 명령어들을 실행히킨다.

1.    사용자 홈디렉토리에서 .bash_profile 호출 하면,  /etc/profile 다음에 읽어들임

2.    파일이 없을 시, bash ~/.bash_login파일을 찾아 대신 읽음.

3.    이 파일 역시 없을 시 ~/.profile을 찾음

4.    이 파일도 없다면 ~/.bashrc파일을 찾아 읽게 됨

 

- 참고-

.profile

: 사용자의 홈디렉토리에 있는 파일

 사용자가 설정하는초기화 파일

사용자가 자신의 쉘 환경을 설정하거나 변경시키기 위해 사용됨

보통 터미널 설정과 기본 환경에 대한 정의와 더불어 윈도우 응용프로그램이나 데이터베이스에 대한 초기화와 실행이 이곳에서 이루어 진다.

- 참고 2-

.bash_profile 읽혀지고 읽어지는 것은 오직 login shell 이용해서 이루어진다. 당신이 커맨드 라인에서 bash 커맨드를 타이핑 하여 새로운 shell(a sugshell) 실행시키려고 시도할 경우 .bashrc 파일에서 명령어를 읽으려고 시도할 것이다.

 

만약 shell 로그인하나 subshell 로그인 하나 상관 없이 같은 명령어를 돌려야 경우라면 , 당신은 .bashrc 실행시켜 ./bash_profile source 커맨드를 이용해 실행하면 된다. 만약 .bashrc 존재하지 않는다면 당신이 subshell 돌렸을 어떤 명령어도 실행되지 않을 것이다.

 

3.3 Alias

- Alias 정의

- Aliase의 사용

- Aliase의 사용의 주의점

- Variables(변수)

3.3.1 Alias 정의

Alias

: 어떤 명령어를 사용자가 알맞게 줄여서 재정의할 있도록 쉘에서 지원하는 기능

 

- 참고-

C shell에서처럼 argument alias 확장기능이 bash에서 지원되지 않는다.

기능은 function(함수)로서 제공된다 chapter4에서 다루게 것이다.

 

3.3.2 Aliase의 사용

 

1.   alias는 명령어 라인에서 정의할 수 있다. .bash_profile 또는 .bashrc에서 이 형식을 사용하면 된다.

2.   ''(single quote) = 한 단어 이상으로 alias를 구성할 시 꼭 사용되어야 한다.

3.   alias선언할 때 ' = '앞뒤에 공백이 있으면 안 된다.

Ex) as search=grep

4.   긴 명령어를 축약설정해서 사용

Ex) alias cdvoy='cd sipp/demo/animation/voyager'

 

5.   대문자를 쓰기 번거로움을 피하기 위해 많이 사용

Ex) alias lf='ls -F'

3.3.3 Aliase의 사용의 주의점

 

1.   bash에서 alias명령어의 경로

 : alias 통해 해석하고 실행시키기 전에 “change”나 “substitute”를 발행

2.   alias의 순환적인 특징 = alias alias할 수 있다.

Ex) alias pa=printall

 

|주의 점| alias ls='ls -l'

=> 이런경우 loop가 돌게 될까? 답은 아니다 bash alias를 돌렸을 때 첫번째 alias word alias로 인식한다. 그러므로 ls -l 한번만 실행되는 결과를 가진다.

 

 

alias listfile=ls
alias ls=listfile

 

=> listfile alias 무시됨

 

3. 와일드 카드와 특수문자는 alias이름으로 사용할 수 없다.

 

 

 

3.4 Option

- Option 의 정의

- Option의 사용

- Options

- Variables(변수)

3.4.1 Option 정의

: shell의상태를 변화 시킬 수 있는 유일한 방법 (alias shell자체를 변화시킬 수 없음)

3.4.2 Option 사용

 

1.   기초적인 option commend = set -o optionname, set +o optionname

 set -o optionname = option 켜는 것

set +o optionname = option 끄는 것

 

- 참고-

=> set -o optionname 에서 optionname은 축약된 단어로도 사용할 수 있다.

ex) set -f = set -o noglob

 

=> Bourne shell에서 유래된 것이며, “extra” bash 특징처럼 호환을 보장한다. 하지만 권고사항은 아니다.

2. table3-1 basic shell options

Option

Description

Emacs

emacs 편집기 사용(on)

ignoreeof

CTRL+D에 의한 로그아웃이 되지 않는다. 로그아웃을 위해 exit이나 logout이라는 명령어를 사용해야 한다.

shell 변수인 IGNOREEOR=10이라고 설정한 효과와 같은 역할을 한다.

 

noclobber

출력 재지정 기호인 ">"를 사용할 수 없다., 실수로 파일을 덮어쓰는 경우를 방지한다.

noglob

*,?같은 와일드카드로 확장하는 것을 방지

nounset

치환 과정에서 설정되지 않은 모든 매개 변수를 오류로 처리한다.

vi

Vi 입력모드

 

3.5 shopt

- shopt 정의

- 자주 사용하는 option 이름들

3.5.1 shopt 정의

: set 명령어를 대신하는 배시늬 새로운 내장 명령어이다.

많은 면에서 set과 유사하지만 쉘의 환경 설정을 위해 더욱 다양한 옵션들을 제공한다.

 

1.    Table 3-2. Options to shopt

Option

Meaning

-p

현재 사용가능한 모든 옵션

-s

현재 설정된 옵션임을 의미

-u

현재 설정되어 있지 않은 옵션

-q

결과 값을 숨기는 set/uset으로 알림유무 설정가능

-o

지정해 주는 옵션을 사용가능하게 한다. set -o와 같은 기능

 

3.5.2  자주 사용하는 option 이름들

 

1.    Table 3-3. shopt option names

Option

Meaning

cdable_vars

내장명령어 cd의 인자를 디렉토리로 취급하지 않는다. 대신 디렉토리를 값으로 갖는 변수라 가정한다.

checkhash

명령어를 실행시키기 전 해시 테이블을 검사한다

cmdhist

여러 행에 걸쳐 사용한 명령어를 단일 항목으로 히스토리에 저장한다.

dotglob

마침표로 시작하는 파일에도 파일이름 전개를 적용한다.

execfail

exec 명령어의 인자로 주어진 파일의 실행에 실패하면, 비대화형 모드의 쉘은 종료하지 않는다. 대화형 모드에서는 exec가 실해하는 경우에 종료하지 않는다.

histappend

쉘이 종료할 때, HISTFILE의 파일에 히스토리 목록을 덮어쓰지 않고, 덧붙인다.

lithist

이 옵션을 설정하고 cmdhist 역시 설정하였으면, 여러 행에 걸친 명령어가 히스토리에 저장 될 때, 각 행을 세미콜론으로 구분하지 않고 개행문자를 포함시킨다.

mailwarn

설정되어 있으면, 마지막으로 메일을 확인한 시간을 검사하여 The mail in mailfile has been read라는 메세지를 출력한다.

 

3.6 Shell Variables

- Built-In Variables 정의/사용

3.6.1 Built-In Variables 정의/사용

: 내장 명령어는 쉘 내부 코드의 일부이다. 명령어 date, cal,finger등은 컴파일 된 바이너리 프로그램으로 디스크에 위치하는 반면, 내장 명열어는 쉘이 실행 중이면, 언제든지 사용 가능하다. 특히 디트크 검색과 I/O가 필요 없으므로, 컴퓨터 입장에서는 훨씬 가볍게 실행 할 수 있는 명령어이다.

1.    관례적으로 대문자로 이루어져야 함

2.    등호(=) 양쪽에 공백이 와서는 안됨.

3.    value값이 두 단어로 이루어 져 있을 경우에는 반드시 따옴표로 묶어줘야 한다.

4.    명령어 라인에서 출력하게 하려면 변수 앞에 $를 붙인다.

5.    Unset을 이용해서 설정을 해제할 수 있다.

6.    echo 명령어를 이용해 내장변수값을 확인할 수 있다.

Ex) echo “$wonderland”

 

3.7 Variables and Quoting

- 1 장 복습

- 활용

3.7.1 1 복습

 

1.     “ “(double quote) :  “”안에 있는 모든 메타문자를 쉘이 해석하지 못하도록 한다. 변수해석을 위한 $만이 작동된다.

 

2.     ‘ ‘(single quote) :  ‘ ‘안에 메타문자들은 모두 일반문자로 해석된다.

 

                          Ex) $ fred='Four spaces between these    words.'

Echo $fred

                           

 Four spaces between these words.

 

ð  ‘ ‘(single quote) : 변수 안의 단어들을 쪼개어서 해석한다

 

Echo “$fred”

Four spaces between these    words.

=> “ “(double quote) : “ “ shell“”안의 글자 자체를 하나의 단어로 생각하게 한다.

- 참고-

‘ ‘(single quote) & “ “(double quote)는 변수에 user, file 입력이 들어갈 시에 중요하게 다뤄진다.

 

3.8 Built-In Variables

- Built-In Variables 정의/사용

 

3.8.1 Built-In Variables 정의/사용

 

1.    Editing mode variables

: 명령어 라인 편집모드에서 사용하는 쉘 변수들

 

2.    Table 3-4. Editing mode variables

 

Variable

Meaning

HISTCMD

현재 명령어의 히스토리 번호

HISTCONTROL

패턴들을 “ : “ (콜론)으로 구분.

Ingoredups: 이전 히스토리 라인과 매칭되는 라인은 넣지 않는다.

erasedups: 현재 라인과 매칭되는 모든 이전라인들은 저장되기 전에 히스토리 리스트에서 제거된다.

ignoreboth: Ingoredups erasedups 모두 가능하게 한다.

HISTIGNORE

패턴들을 “ : “ (콜론)으로 구분: 어떤 명령어 라인들이 히스토리 리스트에 저장될 것인가를 결정한다.

패턴은 명령어라인에서 시작되어지도록 하고, 완전히 분류되도록 한다.i.e…

메타문자가 없는(*) 것은 절대적으로 첨부된다. 패턴은 HISTCONTROL 지원된 다음 라인에서 체크된다. & 이전의 라인에 매치된다. 분명한 & 백슬레시를 빠져나옴으로써 발생된다.

HISTFILE

명령어 히스토리를 저장 이름

HISTFILESIZE

히스토리파일에 저장할 최고라인의 . 기본은 500.

HISTSIZE

사용가능한 히스토리의 최대 숫자. 기본은 128

HISTTIMEFORMAT

옵션이 세팅되고 null 아닐 값은 history 명령어에 의해 실행되는 각각의 히스토리 entry 관련된 time stamp 출력하기 위한 strftime(3) 값의 형식으로 쓰인다

FCEDIT

fc명령어의 기본 편집기를 지정한다.

 

3.    HISTTIMEFORMAT형식

HISTTIMEFORMAT=” %y/%m/%d %T “

 

3.9 Mail variables

- Mail variables 의 정의/기능

 

3.9.1 Mail variables 정의/기능

 

1.   메일이 왔는지 알려주는 기능

실직적으로 shell은 새로 메일이 오는 것을 체크할 수 없다. 그러므로 메일file을 주기적으로 체크해서 file의 변경유무에 따라 새로 온 메일의 상태를 알려주게 된다

 

2.   메일알림 기능 컨트롤 변수

 

Variable

Meaning

MAIL

MAILPATH 지정하지 않고, 변수에 메일 파일의 이름이 지정되어 있으면, 쉘은 지정한 파일에 메일이 도착했는지 사용자에게 알림

MAILCHECK

MAILPATH MAIL에서 지정한 파일에 메일이 도착하였는지 검사하는 간격(초단뒤.) 기본값은 600. 0으로 설정하면 프롬프트를 새로 출력할 때마다 검사한다.

MAILPATH

파일 이름들을 콜론으로 구분하여 지정. 이변수가 설정되어 있으면 쉘은 지정한 파일들에 메일이 도착하였는지 사용자에게 알림

 

3.   메일 변수 설정의 예) (bash_profile)

1)    MAILMAIL=/usr/mail/yourname

 

2)    MAILPATH(: 이용 =>여러 곳으로 지정가능)

-       MAILPATH=/usr/mail/you/martin:/usr/mail/you/geoffm:\

/usr/mail/you/paulr

ð  You have new mail in /usr/mail/you/martin

 

-       메일 왔을 때 메시지 편집가능

MAILPATH="\

/usr/mail/you/martin?You have mail from Martin.:\

/usr/mail/you/geoffm?Mail from Geoff has arrived.:\

/usr/mail/you/paulr?There is new mail from Paul."

ð  You have mail from Martin.

 

-       variable $_의 사용: 현재의 메일file을 메시지에서 나타내 줌

MAILPATH='/usr/mail/you?You have some new mail in $_'

You have some new mail in /usr/mail/you

 

- 참고-

이 기능은 shopt명령어의 mailwarn 옵션을 통해서 on/off로 사용가능하다.

3.10 Prompting variables

- Prompting variables 정의와 사용

3.10.1 Prompting variables 정의와 사용

 

1.   Bash 4종류의 prompt를 제공한다. => PS1, PS2, PS3, PS4

 

2.   prompt의미

1)   PS1 : 주 프롬프트

-       초기값 = “\s-\v\$”

|참조| bash 2.0 이전에는 “bash\$ ” 가 초기값이었다.

 

-       사용자가 환경지정 가능

사용 예1] user의 이름 나타나게 하기

Ex) PS1=”\u->”

출력 prompt : alice 1-->, alice 2--> ……

 

사용 예2] 현재의 위치 보이기

Ex) PS1=”\w->”

 

2)   PS2: 보조 prompt

-       표준 에러(화면)에 출력

-       초기설정값 : >

-       사용: 명령어를 마치지 않고 일부분만 쳤을 시 명령어 마무리를 하라고 알리는 의미에서 나타난다.

-       사용 예

 

Ex) $ echo "This is a long line, # PS1 for the command

> which is terminated down here" # PS2 for the continuation

$                                                    # PS1 for the next command

 

ð  으로 시작했으면 으로 마무리 지어야 하는데 첫 줄에서 마무리 짓지 않아 >로 마무리를 유도한다.

 

3)   P3,P4 => chapter 5, chapter 9에서 다루어 질 예정.

 

 

 

3.11 Command search path

- Command search path 정의와 사용

3.11.1 Prompting variables 정의와 사용

 

1.   PATH : shell에게 명령어의 위치를 찾게 도와주는 명령어

2.   경로들은 콜론(:)으로 구분한다.

3.   PATH 확인 = echo $PATH

Ex) /bin:/usr/bin:/usr/local/bin:/usr/X386/bin 형식으로 출력

4.   PATH 추가 = 원하는 명령어를 추가(.bash_shell) –

l  User home_dir를 추가

PATH=$PATH":/home/you/bin"

5.   경로에 .(마침표) 추가

: 현재의 위치를 나타냄

.(마침표)가 없는 경우, 현재 위치에서 스크립트 수행시 반드시 ./를 함께 써주어야 함.

6.   보안 상 home dir는 앞에 두지 않는다.

PATH="/home/you/bin:"$PATH

3.12 Command hashing

- Command hashing 정의와 사용

3.12.1 Command hashing 정의와 사용

 

:  내부적으로 해시테이블을 유지해 명령어의 검색을 더 빠르게 한다.

-       처음 명령어 입력시에만 전체경로에서 찾고 쉘의 메모리에 저장, 다음 동일한 명령 입력시에 해쉬테이블에서 찾아냄

 

-       직접 등록/삭제 가능

 

1.   해시테이블 살펴보기

: hash명령어 치면 보인다.

 

$ hash

hits    command

   2    /bin/cat

   1    /usr/bin/stat

   2    /usr/bin/less

   1    /usr/bin/man

   2    /usr/bin/apropos

   2    /bin/more

   1    /bin/ln

   3    /bin/ls

   1    /bin/ps

   2    /bin/vi

 

2.   명령어 종류

1)   hash –r

: hash 테이블에 있는 모든 테이블 지움

2)   hash –d (bash 2.05 ver이전에는 작동 안됨)

: 특정한 이름의 테이블 지움

3)   Hash –p (bash 2.0 ver이전에는 작동 안됨

: 명령어가 존재하지 않아도 명령어 등록 가능하게 함.,

 

Hashall option on/off를 이용해서 적용 가능하다

3.13 Directory search path and variables

- Directory search path and variables 정의와 사용

3.13.1 Directory search path and variables 정의와 사용

 

: CDPATH

1.   cd 명령어의 검색경로. (built-in cd 명령어)

2.   지정한 경로가 /, ./, ../으로 시작하지 않으면 쉘은 이 변수의 값에서 경로를 검색한다.

3.   Default로는 지정되어 있지 않음.

4.   사용 예

A.     Alias를 이용한 cd commend

: alias cdvoy='cd sipp/demo/animation/voyager'

 

B.     CDPATH를 이용한 cd commend

: CDPATH=:~/sipp/demo/animation/voyager

 

5.   이용경로

-       디렉토리 변경하고자 할 경우, 옮겨 갈 디렉토리의 이름만 지정하면 쉘은 먼저 현재 디렉토리의 하위 디렉토리인지 확인 -> 변수 cdpath의 내용을 찾아본다. cdpath에서 찾게 되면 해당 내용대로 바로 이동한다.

 

6.   shopt명령 : cdable_vars – 또다른 디렉토리 접근 설정법

: 이 옵션을 설정 해 놓으면 내장 명령어 cd의 인자를 디렉토리로 취급하지 않고 디렉토리를 값으로 갖는 변수라고 가정하게 된다.

|참조| bash 2.0 이하버전에서는 set/unset으로 설정가능하다.

3.14 Miscellaneous variables

- Miscellaneous variables 정의와 사용

3.14.1 Miscellaneous variables 정의와 사용

 

: 그 밖에 간단한  상태알림 변수들

login process login,rshd등으로 이미 지정되어 있는 HOME을 제외한 모든 variable set 명령어로 지정해야 작동됨.

Variable

Meaning

HOME

Home dir경로

SECONDS

Number of seconds since the shell was invoked

BASH

지금 운영되고 있는 shell

BASH_VERSION

지금 운영되고 있는 shell버전

BASH_VERSINFO

지금 운영되고 있는 shell버전의 배열화

PWD

현재 위치

OLDPWD

마지막 cd명령어로 접근했던 직전 디렉토리 위치

 

3.15 Customization and Subprocesses

- Customization and Subprocesses 정의와 사용

3.15.1 Customization and Subprocesses 정의와 사용

: 맞춤화 그리고 내장프로세스들

 

1.   이제까지 배운 변수들: 사용자가 원하는 환경에 맞게 맞춤화 가능

2.   외부shell vs 내부shell

: 구분은 모호함

1)    구분 되는 내부shell

: 우리가 명령어 라인에서 내보내는 commend => 내부프로세스 내에서 작동되도록 쉘에게 전달한다.

*   내부 프로세스= bash program일경우 여태 것 우리가 배운 대부분의 내용과 앞으로 배울 조금의 내용일 것이다.

 

3.16 Environment Variables

- Environment Variables 정의와 사용

3.16. Environment Variables 정의와 사용

 

: 환경변수 내부프로세스의 종류로 알려진 것 중 하나.

 

1.   자신이 생성 된 쉘 뿐만 아니라 , 이 쉘이 생성한 자식 쉘 이나 프로세스에서도 사용할 수 있는 변수

 

2.   Export로 지정 해 준다.

ð  Export varnames (공백으로 varname을 여러 개 지정(선언) 해 줄 수 있다. = 한 줄로 선언 가능)

1)    여러 개 변수를 합쳐서 export해 줄 수 있다.

Ex) export wonderland=alice

2)    특정한 내부프로세스(명령어)의 환경변수들로 지정가능

 

 

3.   표준에 따라 대문자로 지정

 

4.   대표적인 표준 변수들

Variable

Meaning

Columns

Shell의 편집모드와 select 명령어를 위한 윈도우의 폭 설정

EDITOR/VISUAL

내장 에디터의 경로 설정(emacs, gmacs, vi..)

LINES

메뉴항목을 수직으로 출력하게 위해서 select추프에서 사용 기본값은 24

SHELL

쉘 실행될 때, 이 변수에 지정된 이름에 적합한 쉘 환경을 조성한다. PATH, PS1, PS2, MAILCHECK, IFS 등이 기본값으로 설정됨. HOME, MAIL login 프로그램에 의해 지정

TERM

사용자가 사용하는 터미널

 

5.   이미 지정되어 있는 환경변수의 경우, /etc/profile에서 찾아 볼 수 있고, 사용자 환경에 맞게 지정해 놓은 환경변수는 해당 유저 홈디렉토리의 .bash_profile에서 찾거나 원래 설정 해 놓은 것을 export하면 된다.

 |참조| Learning the bash Shell 3rd Edition(Covers bash3.0) [O'REILLY]

'BashShell Programming' 카테고리의 다른 글

6. Command-Line Options and Typed Variables  (0) 2011.04.20
챕터 5. 흐름 제어  (0) 2011.04.19
4. Basic Shell Programming  (0) 2011.02.21
2장 Command-Line Editing  (0) 2011.01.17
Learning the bash Shell 정리 - 1장  (0) 2011.01.07