16.4-在命令行上使用函数
脚本函数不仅可以用作shell脚本命令,也可以用作命令行界面的命令。
一旦在shell中定义了函数,可以从系统的任意目录使用这个函数。不必担心PATH环境变量是否包含函数文件所在目录。关键是能使shell识别出这个函数。主要有两种方法。
1. 在命令行创建函数
shell在键盘输入命令时解释命令,函数可以直接在命令行定义。这有两种方法:
- 第一种方法将函数定义在一行命令中:在命令行中定义函数时,每条命令的结尾必须包含分号,这样shell才知道命令在哪分开。
- 第二种方法是使用多行命令定义函数。使用这种方法不需要在每条命令的结尾添加分号,只需按ENTER键。在函数末尾使用大括号时,shell知道定义函数结束。
2. 在.bashrc文件中定义函数
直接在命令行定义shell函数的缺点是一旦退出shell,函数定义将失效。
解决方法是将函数定义放在shell每次启动都能重新载入的地方。.bashrc文件。每次无论bash shell是交互式启动,还是从已有shell启动新shell,都会在主目录下查找这个文件。
第一步:直接定义函数
在主目录下的.bashrc文件中可以直接定义函数。大多数Linux发行版都已经在.bashrc文件中定义了一些内容,应当小心不要删除这些内容。
只需在已有文件的末尾添加自定义函数。
添加的函数在下一次启动新bash shell时生效。
第二步:读取函数
可以使用source命令(或称点操作符)将现有库文件的函数包含.bashrc脚本。
确保包含库文件的准确路径名,这样bash shell才能够找到该库函数。
再次启动shell之后,该库的所有函数都能在命令行界面使用。
运行:
1 addem 10 5 2 15
.....