1. 程式人生 > >shell中自定義函數

shell中自定義函數

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中自定義函數