Linux 학습 의 Shell 기초 - Bash 변수 - 위치 매개 변수 변수

2628 단어 Linux
1. 위치 변수
위치 변수
역할.
$n
n 은 숫자 입 니 다. $0 은 명령 자 체 를 대표 합 니 다. $1 - $9 는 첫 번 째 부터 아홉 번 째 매개 변 수 를 대표 합 니 다. 10 이상 의 매개 변 수 는 큰 괄호 로 포함 되 어야 합 니 다. 예 를 들 어 ${10}
$*
이 변 수 는 명령 행 의 모든 인 자 를 대표 합 니 다. $* 모든 인 자 를 하나의 전체 로 봅 니 다.
$@
이 변 수 는 명령 행 의 모든 매개 변 수 를 대표 하지만 $@ 매개 변 수 를 구분 합 니 다.
$#
이 변 수 는 명령 행 의 모든 매개 변수의 개 수 를 대표 합 니 다.
$n 은 일반적으로 사용자 가 입력 한 내용 을 가 져 오고 이 변 수 를 통 해 시스템 에 사용자 가 입력 한 내용 을 전달 하 는 데 사 용 됩 니 다.
[root@localhost ~]#cd sh
[root@localhost sh]#vim canshu1.sh

#!/bin/bash

echo $0
echo $1
echo $2
echo $3
~                                                                                       
~             
[root@localhost sh]#
[root@localhost sh]#chmod 755 canshu1.sh 
[root@localhost sh]#./canshu1.sh 
./canshu1.sh



[root@localhost sh]#./canshu1.sh 11 22 33 44 55
./canshu1.sh
11
22
33
[root@localhost sh]#

예제 2: 간단 한 덧셈 계산기 (현재 구멍 이 많다)
[root@localhost sh]#vim jiafajisuanqi.sh 

#!/bin/bash

num1=$1
num2=$2
sum=$(($num1 + $num2))
#  sum   num1+num2
echo $sum
#    sum  
~                                                                                       
~       
[root@localhost sh]#chmod 755 jiafajisuanqi.sh 
[root@localhost sh]#./jiafajisuanqi.sh 2 3
5
                

예시 3
[root@localhost sh]#vim shili3.sh 

#!/bin/bash

echo "A total of $# parameters"
#  $#         

echo "The parameters is:$*"
#  $*       

echo "The parameters is:$@"
#  $@       

[root@localhost sh]#chmod 755 shili3.sh 
[root@localhost sh]#./shili3.sh 
A total of 
The parameters is:
The parameters is:
[root@localhost sh]#./
canshu1.sh        hello.sh          jiafajisuanqi.sh  shili3.sh
[root@localhost sh]#./shili3.sh 4 55 44 3 2 5
A total of 6 parameters
The parameters is:4 55 44 3 2 5
The parameters is:4 55 44 3 2 5
[root@localhost sh]#

예제 4, $* 와 $@ 의 차이
[root@localhost sh]#vim canshu4.sh 

#!/bin/bash

for i in "$*"
#$*             ,    for        
do
   echo "The parameters is:$i"

done
x=1

for y in "$@"
#$@             ,  “$@" ,           

do
  echo "The parameter $x is:$y"
  x=$(( $x + 1 ))
done

~                           
[root@localhost sh]#
[root@localhost sh]#chmod 755 canshu4.sh 
[root@localhost sh]#./canshu
canshu1.sh  canshu4.sh  
[root@localhost sh]#./canshu4
bash: ./canshu4:          
[root@localhost sh]#./canshu4.sh 3 4 3 2
The parameters is:3 4 3 2
The parameter 1 is:3
The parameter 2 is:4
The parameter 3 is:3
The parameter 4 is:2
[root@localhost sh]#

좋은 웹페이지 즐겨찾기