Bash
什么是位置參數(shù)
位置參數(shù)指的是 shell 腳本的命令行參數(shù),同時也表示 shell 函數(shù)的函數(shù)參數(shù)。
Bash中的位置參數(shù)是除0以外的一個或者多個數(shù)字表示的參數(shù)。當(dāng)這個整數(shù)大于 9 時(也就是包含兩個或兩個以上的阿拉伯?dāng)?shù)字),就應(yīng)該使用花括號({})將其括起來。
如變量 $1甚脉、$2、$9铆农、${11} 分別表示第一個牺氨、第二個、第九個、第十一個位置參數(shù)波闹,依次類推酝豪。
位置參數(shù)是 shell 中唯一使用全部阿拉伯?dāng)?shù)字的特殊變量。
[root@linux-node1 ~]# set 1 2 3 four five six 7 8 9 ten
[root@linux-node1 ~]# echo "$1 $2 $3 $4 $5 $6 $7 $8 $9 ${10}"
1 2 3 four five six 7 8 9 ten
#請注意當(dāng)多于一個數(shù)字的位置參數(shù)在擴展時必須放在大括號中精堕。比如,位置參數(shù)10在擴展時使用${10}
Bash位置參數(shù)
位置參數(shù)不能通過賦值語句來賦值蒲障,一般只能通過Bash的內(nèi)部命令set和shift來設(shè)置和取消他們歹篓。當(dāng)Shell函數(shù)運行時,位置參數(shù)會被臨時的替換揉阎。
下面寫個簡介的腳本來讓大家明白位置參數(shù)在腳本中的使用方法:
[root@linux-node1 ~]# vim show.sh
#!/bin/bash
echo "Argument 1: $1"
echo "Argument 2: $2"
echo "Argument 3: $3"
echo "Argument 4: $4"
echo "Argument 5: $5"
show.sh
[root@linux-node1 ~]# chmod +x show.sh
[root@linux-node1 ~]# ./show.sh one tow 3 four five
Argument 1: one
Argument 2: tow
Argument 3: 3
Argument 4: four
Argument 5: five
運行show.sh
生產(chǎn)位置參數(shù)的使用
我們常用的zabbix郵件腳本就用到了位置參數(shù)庄撮,以下是zabbix郵件發(fā)送腳本。
#!/bin/bash
#export LANG=zh_CN.UTF-8
FILE=/tmp/mailtmp.txt
echo "$3" >$FILE
dos2unix -k $FILE
/bin/mail -s "$2" $1 < $FILE
Zabbxi郵件腳本
END.
OK今天就為大家介紹這么多了毙籽。
我是EC君洞斯,如果你喜歡我的文章吗铐,請幫忙點個關(guān)注罢绽!點個喜歡吧跑芳!
也可以點擊作者信息放前,掃描微信二維碼關(guān)注我的個人微信公眾號歹啼。
你的鼓勵將是我們共同進步的源泉显拳。