본문 바로가기
OS/Linux Server

[Shell Programming] 3. Bash shell의 Rules

by Haengsin 2022. 2. 15.
1. Quoting Rule

(1) Metacharacters

- Shell 에서 특별히 의미를 정해 놓은 문자들

- \ ? ( ) $ ... * {} []

$echo *				// 전체를 보여줘
$echo a*			// a를 포함한 전체를 보여줘
$echo ????			// ?는 Any Single Character : 어떤 문자든 지 가능
$touch myfile{1..3}	// {1..3} 집합, myfile1, myfile2, myfile3 생성.

(2) Quoting Rule : 메타 문자의 의미를 제거하고 단순 문자로 변경

- Backslach(\)

   - \ 바로 뒤의 메타 문자는 특별한 의미를 제거

- Double Quotes(" ")

   - " " 내의 모든 메타문자의 의미를 제거. 단 $, ' ' 은 제외

- Single Quotes(` `)

   - ` ` 내의 모든 메타문자의 의미를 제거.

touch \*\*\*		// ***
touch my\*name		// my*name
2. Nesting Commands

(1) Command 치환

- 명령어의 실행 결과를 치환하여 명령을 실행.

(2) Nesting Commands

$(command)

`command` :1번 왼쪽(`)

$ echo "Today is $(date)"
$ echo "Today is `date`"

 

 

3. Alias

(1) alias

- Shell의 명령에 새로운 이름을 부여

- 명령들을 조합하여 새로운 이름의 명령을 생성

 

(2) alias 관리 명령

- alias 등록 : alias name='command'

- alias 확인 : alias or alias name

- alias 삭제 : unalias name

 

$ alias c=clear
$ alias
$ unalias c

 

4. Prompt

- Shell 의 Prompt?

  - PS1 변수를 이용해 shell의 기본 프롬프트 모양을 설정.

  - Bash shell 에서만 Prompt 모양에 적용 가능한 특수 문자가 존재.

 

특수 문자 의미
/h 호스트 이름
/u 사용자 이름
/w 작업 디렉토리 - 절대 경로
/W 작업 디렉토리 - 상대 경로
/d 오늘 날짜
/t 현재 시간
/$ $ 또는 # 프롬프트 모양
$ echo $PS1		// 현재 프롬프트 구성 확인 가능

 

/etc/.bashrc 파일 아래에 추가해주면 재부팅해주어도 작성한 내용 날라가지 않음.