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


Categories:

Updated: