Linux命令行使用Shell脚本函数
Shell 识别出这个函数的方法有以下两种。
1、在命令行上创建函数
Shell 在键盘输入命令时解释命令,函数可以直接在命令行定义。有以下两种方法:1) 将函数定义在一行命令中。在命令行中定义函数时,每条命令的结尾必须包含分号,以便于 Shell 知道命令在哪分开。命令如下所示:
[root@bogon ~]# function divem { echo $[ $1 / $2 ]; }
[root@bogon ~]# divem 20 5
4
[root@bogon ~]#
2) 将函数定义在多行命令中。使用这种方法不需要在每条命令的结尾添加分号,只需按 Enter 键。在函数末尾使用花括号时,Shell 知道定义函数结束。命令如下所示:
[root@bogon ~]# function multem {
> echo $[ $1 * $2 ]
> }
[root@bogon ~]# multem 4 5
20
[root@bogon ~]#
2、在.Bashrc文件中定义函数
直接在命令行定义 Shell 函数的缺点是如果退出 Shell,函数定义就会失效。解决方法是将函数定义放在 Shell 每次启动都能重新载入的地方。.bashrc 文件,无论 Bash Shell 是交互式启动,还是从已有 Shell 中启动新的 Shell,都会在主目录下查找这个文件。
1) 直接定义函数。在主目录下的 .bashrc 文件中可以直接定义函数,把需要写的函数放在文件的末尾。代码如下:
[root@bogon ~]# cat .bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
Function addem{
echo $[ $1 + $2 ]
}
2) 读取函数文件。可以使用 source 命令(点操作符)将现有库文件的函数添加到 .bashrc 脚本中。
[root@bogon ~]# cat .bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
. /root/myfuncs
[root@bogon ~]# addem 10 5
15
声明:《Linux系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。