在命令行上直接使用shell函数

shell函数在命令行的定义及使用

Posted by VK on August 2, 2019

在命令行上使用shell函数

脚本函数不仅可以用作shell脚本命令,也可以用作命令行界面的命令。 一旦在shell中定义了函数,可以从系统的任意目录使用这个函数。不必担心PATH环境变量是否包含函数文件所在目录。关键是能使shell识别出这个函数。主要有两种方法。

1. 在命令行创建函数

shell在键盘输入命令时解释命令,函数可以直接在命令行定义。这有两种方法:

  • 第一种方法将函数定义在一行命令中:在命令行中定义函数时,每条命令的结尾必须包含分号,这样shell才知道命令在哪分开。
  • 第二种方法是使用多行命令定义函数。使用这种方法不需要在每条命令的结尾添加分号,只需按ENTER键。在函数末尾使用大括号时,shell知道定义函数结束。

img

img

img

2. 在.bashrc文件中定义函数

直接在命令行定义shell函数的缺点是一旦退出shell,函数定义将失效。 解决方法是将函数定义放在shell每次启动都能重新载入的地方。.bashrc文件。每次无论bash shell是交互式启动,还是从已有shell启动新shell,都会在主目录下查找这个文件。

第一步:直接定义函数

在主目录下的.bashrc文件中可以直接定义函数。大多数Linux发行版都已经在.bashrc文件中定义了一些内容,应当小心不要删除这些内容。 只需在已有文件的末尾添加自定义函数。 添加的函数在下一次启动新bash shell时生效。 img

img

第二步:读取函数

可以使用source命令(或称点操作符)将现有库文件的函数包含.bashrc脚本。 确保包含库文件的准确路径名,这样bash shell才能够找到该库函数。 再次启动shell之后,该库的所有函数都能在命令行界面使用。 img

运行:

1 addem 10 5
2 15