리눅스, 자료실, 성경검색, 추억의게임, 고전게임, 오락실게임, rootman, http://www.rootman.co.kr
* 35.172.201.102 *
| Home | Profile | Linux | 자료실 | zabbix | Mysql 5.6 | 갤러리 | 성경검색 | 해피니스 | 자유게시판 | 게시물검색 | L | O | R |    

 
[Shell] Positional Parameter(위치변수)
 작성자 : rootman
Date : 2009-02-17 11:29  |  Hit : 7,865  


최종업데이트 : 2012/01/18

Positional Parameter(위치변수)

$0 => 쉘 스크립트 명
$1 => 첫번째 인자
$2 => 두번째 인자
$* => 모든 인자
[email protected] => 모든 인자
$# => 모든 인자 개수
$? => 마지막 실행 return value
$$ => 현재 쉘 스크립트의 PID
$_ => 마지막 인자


(1) ${parameter}
- 실 변수 보호
- 인자가 9개 이상일 때, 중괄호를 해 주어야 합니다.

(2) ${#parameter}
parameter 값의 문자수

(3) ${#identifier[*]}
배열 identifier의 element 수

(4) ${parameter:-word}
parameter의 값이 NOT NULL이면 그 값을 출력 그렇지 않으면 word 값을 출력

(5) ${parameter:+word}
parameter의 값이 NOT NULL이면 그 값을 출력 그렇지 않으면 아무것도 출력하지 않음.

(6) ${parameter:=word}

-------------------------------------------------------------------------
#!/bin/sh
# FileName : argu.sh
echo "----------------------------------------------------";
echo "(1) 쉘 스크립트명 : $0 ";
echo "(2) 첫번째 인자 : $1 ";
echo "(3) 두번째 인자 : $2 ";
echo "(4) 모든 인자 : $* ";
echo "(5) 모든 인자 : [email protected] ";
echo "(6) 모든 인자 개수 : $# ";
echo "(7) 마지막 실행 return value : $? ";
echo "(8) 현재 쉘 스크립트의 PID : $$ ";
echo "(9) 마지막 인자 : $_ ";
echo "----------------------------------------------------";
exit 0;

[[email protected] ~/work]# sh argu.sh 하나 둘 셋 넷 다섯 여섯 일곱
----------------------------------------------------
(1) 쉘 스크립트명 : argu.sh
(2) 첫번째 인자 : 하나
(3) 두번째 인자 : 둘
(4) 모든 인자 : 하나 둘 셋 넷 다섯 여섯 일곱
(5) 모든 인자 : 하나 둘 셋 넷 다섯 여섯 일곱
(6) 모든 인자 개수 : 7
(7) 마지막 실행 return value : 0
(8) 현재 쉘 스크립트의 PID : 20099
(9) 마지막 인자 : (8) 현재 쉘 스크립트의 PID : 20099
----------------------------------------------------



---------------------------------------------------------------------------
문법 : ${parameter:-word}
설명 : 값이 있으면 parameter 변수 값 출력, 없으면 word 대치어 출력
예문 :
[[email protected] tmp]# TMP1=/home/chanho
[[email protected] tmp]# echo ${TMP1:-/home/notNull}
/home/chanho
[[email protected] tmp]# echo ${TMP99:-/home/notNull}
/home/notNull


---------------------------------------------------------------------------
문법 : ${parameter:+word}
설명 : 값이 있으면 word 대이처 출력, 없으면 parameter 변수 값 출력
예문 :
[[email protected] tmp]# TMP1=/home/chanho
[[email protected] tmp]# echo ${TMP1:+/home/notNull}
/home/notNull
[[email protected] tmp]# echo ${TMP99:+/home/notNull}
/home/chanho


---------------------------------------------------------------------------
문법 : ${parameter:+word}
설명 : 값이 있으면 parameter 값을 출력하고, 없으면 word로 할당
예문 :
[[email protected] tmp]# echo ${TMP1:=/home/assign}
/home/chanho

---------------------------------------------------------------------------
문법 : ${parameter:?word}
설명 : 값이 있으면 parameter 값을 출력하고, 없으면 word를 출력하고 exit

[[email protected] tmp]# echo ${TMP1:?/home/assign}
/home/chanho


 
 

Total. 645
번호 분류 제목 작성자 등록일 조회수
645 기초강좌 NFS server unable to open connection to tcp6/udp6 networks rootman 09-27 2409
644 php [php] mssql ms-sql 한글 변환 끄적임.. 정리 rootman 03-29 3485
643 기초강좌 java vim 에서 자바 환경 만들기 rootman 02-16 2598
642 삭제예정 [xencenter] xenserver tool 설치 rootman 08-24 3664
641 mysql [mysql] Creating a File-Per-Table Tablespace Outside the Dat… rootman 08-03 3856
640 기초강좌 Centos Xwindow 설치 rootman 06-16 4736
639 php [php] highlight 함수 rootman 04-01 4591
638 qmail [qmail] qmail-scanner에 filtering 된 이메일 처리 rootman 02-14 5004
637 Shell [날짜] awk를 이용하여 unixtime의 시간 차 구하기 rootman 01-27 5984
636 기초강좌 centos에 그놈(gnome) 설치하기 rootman 01-10 5932
635 쉘(awk) [awk] shell 변수 사용하기 rootman 12-27 5535
634 기초강좌 서버 캐시 메모리 초기화하기 (drop_caches) rootman 12-11 6604
633 windows tips 그리드 제거 배치 스크립트 rootman 11-28 6171
632 기초강좌 패스워드 lockgin control rootman 09-06 4
631 windows tips win7 자동 로그인 설정하기 rootman 08-18 6262
 1  2  3  4  5  6  7  8  9  10    
AND OR