Shell - 6.Positional Parameters
참고 강의 : TTABAE-LEARN
Contents
- 6-1. Positional Parameters
- 6-2. 예제를 통해 확인하기
6-1. Positional Parameters
Positional Parameters (위치 매개변수)
example )
cp /etc/passwd ./pass
- 1번째 argument
/etc/passwd
가 변수에 저장되어 프로그램에 전달됨 - 2번째 argument
./pass
가 ~ - positional parameters
- cp : $0
- /etc/passwd : $1
- ./pass : $2
Summary
-
name of shell script : $0
-
1번째 argument : $1
…
15번쨰 argument : ${15}
-
number of arguments in : $#
-
list of all parameters : $@, $*
- 로그인 shell의 PID : $$
- 현재 작업디렉토리 : $PWD
- 부모 프로세스 ID : $PPID
6-2. 예제를 통해 확인하기
(1) Example 1
sample.sh
를 생성한 뒤, 실행하기
step 1) 경로 생성
$ mkdir ~ /bin
$ cd ~/bin
step 2) shell script 생성
$ vi parameter-exam1.sh
#! /bin/bash
#: Usage : parameters-exam1.sh arg1 arg2 arg3
echo "The script name :$0"
echo "The 1st name :$1"
echo "The 2nd name :$2"
echo "The # of arguments :$#"
echo "The list of arguments :$@"
echo "The list of argument s :$*"
step 3) 권한 부여
$ chmod +x parameter-exam1.sh
step 4) shell script 실행
$ parameter-exam1.sh red blue
(2) Example 2
step 2) shell script 생성
du -sh $1 2> /dev/null
: Summarize in Human readable size
$ vi parameter-exam2.sh
#! /bin/bash
#: Usage : parameters-exam2.sh dir_name
echo "[$1 Directory]"
echo "===================================="
date +%Y-%m-%d
echo "===================================="
du -sh $1 2> /dev/null
echo
step 3) 권한 부여
$ chmod +x parameter-exam2.sh
step 4) shell script 실행
$ parameter-exam2.sh /home