매개변수는 값을 저장하는 엔티티입니다. 이름, 숫자 또는 일부 특수 문자가 될 수 있습니다. 변수는 이름으로 표시되는 매개변수입니다. 일부 변수는 이미 설정되어 있으며 대부분은 값을 할당할 수 없습니다.
이러한 변수에는 쉘 스크립트가 실행 중인 환경에 대해 알 수 있는 유용한 정보가 포함되어 있습니다.
Bash는 두 종류의 매개변수를 제공합니다.
- 위치 매개변수
- 특수 매개변수
이 기사에서는 예제를 통해 bash 위치 매개변수에 대해 논의해 보겠습니다.
이 기사는 진행 중인 bash 튜토리얼 시리즈의 일부입니다.
예시 1:Bash 위치 매개변수 – $0, $1, $2 ..
위치 매개변수는 스크립트가 호출될 때 스크립트에 제공되는 인수입니다. $1에서 $N까지 가능합니다. N이 한 자리 이상으로 구성된 경우 ${N}과 같이 중괄호로 묶어야 합니다.
변수 $0은 기본 이름입니다. 프로그램 이름 그대로.
다음 예제는 두 개의 인수를 가져오고 두 정수 간의 산술 연산 결과를 제공합니다.
<센터> 센터>먼저 아래와 같이 arithmetic.sh 쉘 스크립트를 생성합니다.
$ cat arithmetic.sh #!/bin/bash echo -e "\$1=$1" echo -e "\$2=$2" let add=$1+$2 let sub=$1-$2 let mul=$1*$2 let div=$1/$2 echo -e "Addition=$add\nSubtraction=$sub\nMultiplication=$mul\nDivision=$div\n"
그런 다음 아래와 같이 적절한 매개변수를 사용하여 arithmetic.sh를 실행합니다.
$ ./arithmetic.sh 12 10 $1=12 $2=10 Addition=22 Subtraction=2 Multiplication=120 Division=1
위의 출력에서 $1의 값은 12이고 $2의 값은 10입니다.
쉘 내장 'let'을 사용하면 쉘 변수에 대해 산술 연산을 수행할 수 있습니다. 위의 스크립트는 주어진 매개변수에 대해 덧셈, 뺄셈, 곱셈, 나눗셈과 같은 산술 연산을 수행합니다.
예시 2:Bash 위치 매개변수 설정/해제
내장된 set 명령은 위치 매개변수를 설정 및 해제하는 데 사용됩니다.
먼저 아래와 같이 positional.sh 쉘 스크립트를 생성합니다.
$ cat positional.sh #!/bin/bash # From command line echo -e "Basename=$0" echo -e "\$1=$1" echo -e "\$2=$2" echo -e "\$3=$3" # From Set builtin set First Second Third echo -e "\$1=$1" echo -e "\$2=$2" echo -e "\$3=$3" # Store positional parameters with -(hyphen) set - -f -s -t echo -e "\$1=$1" echo -e "\$2=$2" echo -e "\$3=$3" # Unset positional parameter set -- echo -e "\$1=$1" echo -e "\$2=$2" echo -e "\$3=$3"
위의 스크립트는 먼저 명령줄 인수를 인쇄한 다음 set 명령이 위치 매개변수를 명시적으로 설정합니다. –로 설정하면 옵션의 끝을 참조합니다. 이후의 모든 인수는 '-'로 시작할 수 있는 경우에도 위치 매개변수입니다. 다른 인수 없이 '-'로 설정하면 모든 위치 매개변수가 설정 해제됩니다.
다음으로 아래와 같이 positional.sh를 실행합니다.
$ ./positional.sh Basename=t.sh $1=12 $2=10 $3= $1=First $2=Second $3=Third $1=-f $2=-s $3=-t $1= $2= $3=
다음 기사에서는 bash 특수 매개변수에 대해 예제를 통해 논의해 보겠습니다.