云上

韶韶心里想说的东西

Bash脚本编程(四)之Shell函数

淘品牌 DM杂志

清仓特价 韩版 李孝利 欧美復古罗马斗士 凉鞋 高跟鞋 实拍
58.0元 

BashShell函数是一种能把若干UNIX/LINUX命令打包执行的方法,在执行时一个简单的名字就能够代替这些命令。执行函数就像执行普通的UNIX命令一样简单。Bash会在当前上下文的环境中执行Shell函数,而不再产生新的进程去解释函数。

Bash alias别名和函数都能帮你为长或复杂的命令定义快捷方式。但是,alias别名不允许控制流,参数,以及其他有技巧的事情。而这些事情,函数都能做到。我们将会在下面讲解。

这篇文章是我们正在进行的Bash脚本编程系列的一部分。你可以查看前三篇文章:Bash脚本编程简介,Bash的退出状态,以及Bash alias别名。

定义一个Bash函数的语法如下:

1:一个显示指定后缀名文件的长列表的函数

函数“lsext”可以查找当前目录下的指定后缀名的文件。函数体内使用了findls命令。

  

2:一个能够对一组文件执行指定命令的函数

下面的例子中,函数“batchexec”先找到指定后缀名的文件,再对这些文件执行指定的命令。

    在上面的例子中,函数找到所有以.sh为后缀名的脚本,并且把脚本的权限修改为755。在函数体内,${@:2}表示第二个以及接下来的位置参数。

 

3:能够生成随机密码的函数

下面的函数能够根据特定的字符生成给定长度的高强度随机密码。如果长度未被指定,那么默认生成12字符长的密码。

 

    

在上面的例子中,当rpass的参数为6时,函数生成字符串长度为6的随机密码。当rpass无参数时,那么函数生成12字符长度的密码。${1:-12}表示如果$1未定义或空时,12被返回,否则$1被返回。

 

4:返回给定接口的IP地址的函数

下面的例子定义了一个函数“getip”以接口为参数,返回该接口的IP地址(默认返回接口ETH0IP地址)。函数体内使用了ifconfig命令。

 

 

5:打印机器信息的函数

此例定义了一个能够显示机器所有需要信息的函数。用户可以在启动文件中定义并调用该函数,以便于在启动时得到这些信息。

6:格式化ls命令输出

函数首先清屏,然后将光标置于屏幕顶端,接着执行ls命令,最后再把光标置于屏幕底部。

使用type命令返回函数类别

Type是一个内建函数,可以返回函数类别。

Syntax:
type function-name
 

为了让你更方便的参考,你在这里得到上面的6个函数。

将这些函数放在你的~/.bash_profile文件中,这样就可以保证一直能够使用这些函数。

函数能够接受参数。在执行过程中,函数的参数会被赋值给Bash的特殊变量:位置参数。参数$0代表脚本的名字,是不能被改变的的。

在命令行中,你能像下面这样调用一个函数。

 

清仓特价 韩版 李孝利 欧美復古罗马斗士 凉鞋 高跟鞋 实拍
58.0元 

淘品牌 DM杂志

阅读更多
个人分类: Bash脚本编程
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭