Linux shell 自定义函数

1、定义shell函数(define function)shell

语法:bash

[ function ] funname [()]函数

{spa

    action;code

    [return int;]io

}编译

说明:function

一、能够带function fun()  定义,也能够直接fun() 定义,不带任何参数。class

二、参数返回,能够显示加:return 返回,若是不加,将以最后一条命令运行结果,做为返回值。 return后跟数值n(0-255test

 

实例(testfun1.sh):

#!/bin/sh
  
  fSum 3 2;
  function  fSum()
  {
      echo  $1,$2;
      return  $(($1+$2));
  }
  fSum 5 7;
  total=$(fSum 3 2);
  echo  $total,$?;
                  

从上面这个例子咱们能够获得几点结论:

一、必须在调用函数地方以前,声明函数,shell脚本是逐行运行。不会像其它语言同样先预编译。一次必须在使用函数前先声明函数。

二、total=$(fSum 3 2);  经过这种调用方法,咱们清楚知道,在shell 中 单括号里面,能够是:命令语句。 所以,咱们能够将shell中函数,看做是定义一个新的命令,它是命令,所以 各个输入参数直接用 空格分隔。 一次,命令里面得到参数方法能够经过:$0…$n获得。 $0表明函数自己。

三、函数返回值,只能经过$? 系统变量得到,直接经过=,得到是空值。其实,咱们按照上面一条理解,知道函数是一个命令,在shell得到命令返回值,都须要经过$?得到。

相关文章
相关标签/搜索