mahonglin123456 发表于 2018-8-28 12:32:22

shell编程之函数与信号捕捉

  函数的目的就是代码重用,实现结构化编程的思想
  在shell脚本中,定义函数的两种方式:
  function FUNCTIONNAME {
  函数体
  }//使用function关键字定义
  FUNCTIONNAME() {
  函数体
  }//直接使用函数名加一个小括号(中间不能有空格)
  函数体就是封装在函数之中的代码
  函数同系统上的库文件类似,都可以理解为实现特定功能,没有执行入口,可以被其他程序调用执行的共性
  所以,在shell脚本编程中,函数必须被调用才能执行,调用的方式就是在需要函数执行的地方使用函数名调用
  函数相关问题:
  1.自定义函数状态返回值
  在shell中,实现自定义shell脚本执行状态返回值使用的是exit
  在函数中,使用的是return,同exit一样,可以自定义返回值,同时退出函数,exit是退出脚本
  2.引用函数的执行结果
  VARIABLE=`函数名`
  也是使用反引号的方式引用函数的执行结果,如上,将函数的执行结果赋值给某变量
  3.函数的参数
  同shell脚本类似,函数也可以使用参数,$1,$2..分别表示第一个,第二个参数..
  例如:
  hello() {
  Name=$1
  echo "hello,$Name"
  }
  那么在调用函数的使用就可以传递给函数一个参数
  hello jerry
  脚本中信号的捕捉:
  在shell脚本中也可以实现信号捕捉,除9和15号信号之后
  信号捕捉:就是发给某进程的信号可以被改进程捕捉到,进而可以做出与原本信号代表的操作不同的动作
  在shell脚本中捕捉信号使用bash的内置命令:trap
  trap 'COMMAND' signal list
  将信号列表中的信号捕捉到之后执行指定的命令

页: [1]
查看完整版本: shell编程之函数与信号捕捉