运维小技巧(2):shell函数

网友投稿 895 2022-09-28

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

运维小技巧(2):shell函数

1.shell函数是什么shell函数可以看作是一组shell命令的组合,用来完成一个特定的功能,它的功能和java中的方法类似。

2.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函数和上面这个函数长的都差不多。后面我们将以这个函数为例分析函数的写法和用法。

3.shell函数怎么写

函数的基本格式

function 函数名(){}或者函数名(){}注意 函数名不要用linux shell 关键字,例如不要用let,用了之后可能会出错。

4.函数可以传参吗函数可以传参,函数传参不用在()中预先定义,可以直接使用。在shell函数中用$1 表示传进来的第一个函数,用$2 表示传进来的第二个函数。例如上面的函数log,就用$1表示传进来的第1个函数。当然,函数也可以没有参数。

5.函数中使用条件判断,循环函数中可以使用条件判断或者循环。需要注意的是shell中的条件判断的写法。

if then else if

6.函数的局部变量和全局变量函数中使用local关键字定义局部变量,局部变量的作用域在函数内部,出了函数就无法调用。在函数中也可以调用在函数外定义的全局变量。

7. 函数的返回值函数使用return关键字来表示函数返回值,一般用在条件判断中需要提前结束函数的地方。return 0表示无错误返回,return 1表示有错误返回。在上面的函数中用return 1表示函数传参出错,提前返回。

8. shell函数怎么用函数可以在linux 命令行中直接使用,可以在shell 脚本中调用。例如上面的函数可以在命令行中通过 log test打印testserver 当天的日志。也可以在shell脚本中通过log test对函数进行相同的调用。比较特殊的是函数可以对自身进行调用,即通过在函数体中调用函数的方法名实现调用自身。这就是通常所说的递归调用。不过递归调用需要有退出的方法,一般通过函数中的条件判断实现,不然的会形成死循环,无法退出。

上一篇:AIOps自动化运维最佳解决方案
下一篇:智能运维监控平台系统公司推荐(自动化运维监控系统)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~