shell中自定義函數
阿新 • • 發佈:2018-04-20
function shell 自定義一個打印函數參數的函數
[root@lynn-04 shell]# vim fun1.sh
#!/bin/bash
pri(){
echo "第一個參數為 $1"
echo "第二個參數為 $2"
echo "文件名為 $0"
echo "總共有$#個參數"
}
pri a b #調用函數
執行結果
[root@lynn-04 shell]# sh fun1.sh
第一個參數為 a
第二個參數為 b
文件名為 fun1.sh
總共有2個參數
自定義一個會加法計算的函數
[root@lynn-04 shell]# vim fun2.sh #!/bin/bash sum (){ s=$[$1+$2] echo $s } sum 6 9
執行結果
[root@lynn-04 shell]# sh -x fun2.sh
+ sum 6 9
+ s=15
+ echo 15
15
自定義一個輸入網卡名顯示ip的函數
[root@lynn-04 shell]# vim fun3.sh #!/bin/bash ip () { a=`ifconfig |grep -A1 "$1: "` b=`ifconfig |grep -A1 "$1: "|awk ‘/inet/ {print $2}‘` if [ -z "$a" ] then echo "網卡不存在" exit elif [ -z "$b" ] then echo "網卡沒有定義ip" exit else echo "$b" fi } read -p "請輸入網卡名:" eth ip $eth
執行結果
[root@lynn-04 shell]# sh fun3.sh
請輸入網卡名:ens33
192.168.130.116
[root@lynn-04 shell]# sh fun3.sh
請輸入網卡名:ens37
網卡沒有定義ip
[root@lynn-04 shell]# sh fun3.sh
請輸入網卡名:ens38
網卡不存在
shell中自定義函數