shell 函数

  1. 格式
  2. [function] function-name(){
        function-body;
    }
    1. [function]为可选部分。
    2. function-name为函数名字。
    3. ()中没有任何内容,通过$1..$n来获得参数$0 代表脚本名字.
      1. $1~$n  添加到Shell的各参数值。
      2. $? 执行上一个指令的返回值,为0说明指令正常执行,也可以作为函数的返回值。
      3. $* 所有参数列表
      4. $-  显示shell使用的当前选项,与set命令功能相同
      5. $# 参数个数
      6. $@  不加引号与$*相同,加上引号,$@是把每个参数看成一个字符串,而$*是把所有的参数看成一个字符串
      7. $$ Shell本身的PID(ProcessID,即脚本运行的当前进程ID号)
      8. $!  Shell最后运行的后台Process的PID(后台运行的最后一个进程的进程ID号)函数的调用
  3. 直接利用函数名调用,没有后面的括号
    1. #!/usr/bin/bash
      printPara(){
              for i in $@;do
                      #a=$i;
                      #echo $a;
                      #echo (($i+1));
                      echo $i
              done;
              return $# ;
      }
      printPara a b c;
      echo "return value is $?"
    2. 直接通过函数名 + 参数,其中函数名后面不接()  func-name para1 para2…
  4. 函数返回值
    1. 如果需要返回值,可以用$?来得到函数的返回值
    2. 也可以直接取函数中的变量,$var

原文地址:https://www.cnblogs.com/cyj1258/p/12261757.html