Self-Improvement
1) Bash 쉘 기능 및 특성 본문
*Bash쉘
//기능
입력을 읽고 해당 명령행을 분석한다.
특수 문자들을 평가한다.
파이프, 리다이렉션, 백그라운드 프로세스를 설정한다
시그널을 처리한다.
프로그램을 할 수 있는 언어
//쉘에서 실행되는 우선순위
1.쉘 내부 명령어 ex) if, while
2.엘리어스 ex) alias ls='ls -l'
3.함수 ex) a() {CMD; CMD}
4..디스크내 존재하는 명령어 ex) /bin/ls
*쉘의 특성
쉘의 특성은 많지만 중요하다고 생각한 것 위주로 작성
1.리다이렉션
0 : 표준입력 (>, >>)
1 : 표준출력 (<, <<)
2 : 표준에러 (2>, 2>>)
2.파이프 ( | )
ex) #cat /etc/passwd | grep root
3.특수변수
$$ : 현재 쉘의 PID 번호 저장(EX: 임시 파일 생성, /tmp/.tmp.$$)
$! : 바로 이전 수행된 백그라운드 프로세스의 PID 번호 저장
$? : 바로 이전 수행된 명령어의 return value 저장(0=정상, 1 ~ 255=오류)
$* : 모든 인자($* == $@)
$# : 인자의 개수
$0 : 프로그램 이름
$1 : 프로그램에 대한 첫번째 인자
$2 : 프로그램에 대한 두번째 인자
$3 : 프로그램에 대한 세번째 인자
4.메타캐릭터
작은 따옴표('') : 명령어의 변수를 해석하지않음
큰 따옴표("") : 명령어의 변수를 해석함
역 따옴표(``) : 명령어안의 명령어
ex) #touch file.`date`
#typeset -f
※EOF사이의 써진것들이 다시 출력됨
7.그룹화
#(ls ; pwd ; date) > file1.txt
※ls ; pwd ; date > file.txt (date명령어만 저장됨)
8.조건부
#cd /etc && ls -l passwd (앞의것이 참이면 뒤에꺼 실행)
= 앞 명령어가 '참'이면 뒤에꺼 실행o
= 앞 명령어가 '거짓'이면 뒤에꺼 실행x
#cd /etc || ls -l passwd (앞명령어가 '참'이면 뒤에껀 실행x)
= 앞 명령어가 '참'이면 뒤에꺼 실행x
= 앞 명령어가 '거짓'이면 뒤에꺼 실행o
9.파일의 이름/경로
#DIR1=/etc/sysconfig/network-scripts/ifcfg-eth0
#dirname $DIR1 (=/etc/sysconfig/..., 경로)
#basename $DIR1 (=ifcfg-eth0, 이름)
'프로그래밍 > Shell' 카테고리의 다른 글
5) 쉘 스크립트 연산자 및 조건문 test CMD (0) | 2018.10.21 |
---|---|
4) 쉘 스크립트 echo, read (0) | 2018.10.21 |
3) 쉘 스크립트 실행 방법, 편리 설정 (0) | 2018.10.21 |
2) 쉘 프로그래밍에서 유용하게 쓰이는 CMD (0) | 2018.10.21 |
쉘스크립트 signal사용 (0) | 2018.10.20 |