linux shell脚本基础-----3

来源:互联网 发布:淘宝购买力人群统计 编辑:程序博客网 时间:2024/05/22 05:02

6. 函数

function_name() {   statements      }

  注意:

    必须在调用一个函数之前先对它进行定义,不存在前向声明;

    当一个函数被调用时,脚本程序的位置参数($*,$@,$#,$1,$2等)会被替换为函数的参数。这也是读取传递给函数的参数的办法。当函数执行完毕后,这些参数会恢复为它们先前的值。

    可以通过return命令让函数返回数字值(注意,return不能返回字符串值)。为让一个函数返回字符串,可以echo一个字符串并捕获其结果(因为子进程会继承父进程的标准输出,因此,子进程的输出也就直接反应到父进程)

    如果在函数里没有使用return命令指定一个返回值,函数返回的就是执行的最后一条命令的退出码

#!/bin/shfoo(){  echo "Hello"  }result="$(foo)"echo $resultexit 0<span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; background-color: rgb(255, 255, 255);"> </span><pre name="code" class="python">#!/bin/shyes_or_no(){    echo "Is your name $* ?"    while true    do        echo -n "Enter yes or no: "        read x        case "$x" in            y | yes ) return 0;;            n | no )  return 1;;            * )        echo "Answer yes or no"        esac    done    }


echo "Original parameters are $*"if yes_or_no "$1"   #将$1传递给yes_or_no  then    echo "Hi $1, nice name"else    echo "Newer mind"fiecho


0 0
原创粉丝点击