Shell變數(4)- 位置引數變數
阿新 • • 發佈:2021-08-03
作用
往shell腳本里面傳遞引數
位置引數變數 | 作用 |
$n |
n 為數字,$0 代表命令本身,$1-$9 代表第一到第九個引數,十以上的引數需要用大括號包含,如 ${10} |
$* |
這個變數代表命令列中所有的引數,$* 把所有的引數看成一個整體 |
$@ |
這個變數也代表命令列中所有的引數,不過 $@ 把每個引數區分對待 |
$# |
這個變數代表命令列中所有引數的個數 |
例子1
#!/bin/bash
num1=$1
num2=$2
sum=$(($num1+num2))
echo $sum
備註:因為Linux引數都是字元型,所有兩個引數相加得加$((引數1+引數2))
例子2
#!/bin/bash
echo "\$* 輸入的引數是:$*"
echo "\$@ 輸入的引數是:$@"
echo "\$# 總共輸入的引數:$#"
例子3-1
作用:$* 與 $@ 的區別,$* 與 $@放在雙引號“”裡
程式碼:
#!/bin/bash
for i in "$*"
do
echo "\$* 引數是:$*"
done
for i in "$@"
do
echo "\$@ 引數是:$@"
done
例子3-2
作用:$* 與 $@ 的區別,$* 與 $@不放在雙引號“”裡
程式碼:
#!/bin/bash
for i in $*
do
echo "\$* 引數是:$*"
done
for i in $@
do
echo "\$@ 引數是:$@"
done
總結:發現$* 與 $@在shell指令碼中,不用雙引號和加雙引號時候區別的,實際工作中運用要注意!!!