-
shell函数是什么
shell函数可以看作是一组shell命令的组合,用来完成一个特定的功能,它的功能和java中的方法类似。 -
shell函数长什么样
铛铛铛,先上代码。
function log() {
local path="/var/log/";
if [ $1 == "test" ]; then
path+="test/testserver-";
else
echo "server name error";
return 1;
fi;
path+=$(date +%Y-%m-%d);
path+=".log";
tail -f $path;
}
上面是一个打印testserver 当天日志的函数。shell函数和上面这个函数长的都差不多。后面我们将以这个函数为例分析函数的写法和用法。
-
shell函数怎么写
- 函数的基本格式
function 函数名(){}
或者
函数名(){}
注意 函数名不要用linux shell 关键字,例如不要用let,用了之后可能会出错。
- 函数的基本格式
-
函数传参
函数可以传参,函数传参不用在()中预先定义,可以直接使用。在shell函数中用$1 表示传进来的第一个函数,用$2 表示传进来的第二个函数。例如上面的函数log,就用$1表示传进来的第1个函数。当然,函数也可以没有参数。 -
函数中使用条件判断,循环
函数中可以使用条件判断或者循环。需要注意的是shell中的条件判断的写法。
if then
else
if
-
函数的局部变量和全局变量
函数中使用local关键字定义局部变量,局部变量的作用域在函数内部,出了函数就无法调用。在函数中也可以调用在函数外定义的全局变量。 -
函数的返回值
函数使用return关键字来表示函数返回值,一般用在条件判断中需要提前结束函数的地方。return 0表示无错误返回,return 1表示有错误返回。在上面的函数中用return 1表示函数传参出错,提前返回。 -
shell函数怎么用
函数可以在linux 命令行中直接使用,可以在shell 脚本中调用。例如上面的函数可以在命令行中通过 log test打印testserver 当天的日志。也可以在shell脚本中通过log test对函数进行相同的调用。
比较特殊的是函数可以对自身进行调用,即通过在函数体中调用函数的方法名实现调用自身。这就是通常所说的递归调用。不过递归调用需要有退出的方法,一般通过函数中的条件判断实现,不然的会形成死循环,无法退出。
网友评论