Shell 프로그래밍 생성 , 실행
- shell 파일에 실행 퍼미션 설정 : # chmod +x [파일이름]
- ./ 또는 sh 명령으로 실행 : # ./ [파일이름] 또는 # sh [파일이름]
- shell 작성시 첫 라인 주석으로 표기 : #!/bin/bash (bash 쉘에서 작성했다는 표기)
Shell 변수 , 환경변수
- # a=1 (a라는 변수에 1 값 지정) , # echo $a (echo와 $으로 확인) , # set (특정 쉘에서의 정보 출력)
- # export a (a의 변수를 모든 쉘에 적용) , # env (환경변수에 대한 정보 출력)
- # unset a (a에 선언된 변수 제거)
아규먼트 변수
- 특별한 내장변수로 위치 매개변수로 사용한다.
- 매개변수를 불러올때 스크립트의 명령행 인자로 사용한다.
option
- $0 : 실행된 쉘 스크립트 이름
- $1 : 스크립트에 넘겨진 첫번째 아규먼트
- $2 : 스크립트에 넘겨진 두번째 아규먼트
- $# : 스크립트에 넘겨진 아규먼트의 개수
- $$ : 쉘스크립트의 프로세스ID
- $* : 스크립트에 전달된 인자 전체를 하나의 변수에 저장하며 IFS환경변수의 첫번째 문자로 구분
- $@ : $*와 동일 (다른점은 IFS환경변수를 사용하지 않음)
- $? : 실행한 뒤의 반환값, 참이면 0 , 거짓이면 1 로 표시
- 쉘스크립트 구동시 $? 에 출력되는 종료코드
- 0 (성공) , 1 ~ 125 (에러) , 126 (파일이 실행가능하지 않음) , 128 ~ 255 (시그널 발생)
예)
#vi argument.sh - #./argument.sh a b c
------------------------------------------------------------------------------------------------------------------
#!/bin/bash
echo "This script file $0" - This script file ./argument.sh
echo "Argument Count is $#" - Argument Count is 3
echo "Process ID is $$" - Process ID is 31779
echo "Argument List \$* : $*" - Argument List $* : a b c
echo "Argument List \$@ : $@" - Argument List $@ : a b c
echo "Argument 1 : $1" - Argument 1 : a
echo "Argument 1 : $2" - Argument 2 : b
echo "Argument 1 : $3" - Argument 3 : c
echo "This script code $?" - This script code 0
'Linux' 카테고리의 다른 글
7zip - 압축 프로그램 (0) | 2009.02.10 |
---|---|
Linux directory structure (0) | 2009.01.19 |
Centos 5.2에서 MP3재생하기 (0) | 2008.12.13 |
쉘프로그래밍 비교연산 (0) | 2008.11.24 |
리눅스 커널 정보 변경 (0) | 2008.11.20 |
리눅스 백업 - rsync (0) | 2008.11.17 |