【linux/shell】如何创建脚本函数库并在其他脚本中调用?

时间:2024-07-09 16:43:16

目录

1. 创建脚本库文件

2. 修改脚本库权限,使脚本库可执行

3. 在其他脚本中调用脚本库

4. 使用环境变量或.bashrc

5. 使用Shellcheck

6. 编写注释及说明文档


在Shell中创建和使用脚本库通常涉及以下几个步骤:

1. 创建脚本库文件

脚本库通常是包含了一系列可重用函数的Shell脚本文件。你可以使用文本编辑器创建一个脚本库文件,例如 mylib.sh 。
 

nano mylib.sh

其中nano是:

nano 是 Linux 和类 Unix 系统中的一个文本编辑器,它以简单易用而著称,特别适合初学者或那些需要快速编辑文件的用户。以下是一些基本的 nano 命令和操作:

  • 打开文件:在终端中输入 nano filename (将 filename 替换为要编辑的文件名)。
  • 保存更改:按下 Ctrl + O,然后按回车键确认文件名,保存更改。
  • 退出编辑器:按下 Ctrl + X 退出编辑器。如果有未保存的更改,nano 会询问你是否要保存。
  • 撤销操作:按下 Ctrl + _(即 Ctrl 键和减号键)。
  • 剪切/复制/粘贴:使用 Ctrl + K 剪切当前行,使用 Ctrl + U 恢复剪切的内容,使用 Ctrl + 6 粘贴剪切板的内容。
  • 搜索文本:按下 Ctrl + W,输入要搜索的文本,然后按回车键。

nano 还提供了一个帮助菜单,可以通过按 Ctrl + G 访问,其中包含了所有的快捷键和命令的列表。

在文件中,你可以定义一些函数,例如:

#!/bin/bash

function greet {
    echo "Hello, $1!"
}

function goodbye {
    echo "Goodbye, $1!"
}

2. 修改脚本库权限,使脚本库可执行

使用 chmod 命令使脚本库文件具有可执行权限。

chmod +x mylib.sh

3. 在其他脚本中调用脚本库

在你的主脚本中,你可以使用 source 命令来包含脚本库。就想c语言中include头文件一样,让你能访问库中定义的函数。

#!/bin/bash

# 包含脚本库
source ./mylib.sh

# 使用库中的函数
greet "World"
goodbye "World"

对于source命令来说,还有一个快捷方法,就是使用它的别名,称为点操作符(dot operator),

#包含脚本库

. ./mylib.sh

4. 使用环境变量或.bashrc

为了在任何脚本中使用你的脚本库,你可以将其路径添加到环境变量 PATH 中。

export PATH=$PATH:/path/to/your/library


然后,你可以在任何脚本中通过 source 命令包含它,而无需指定完整路径。

也可以使用.bashrc文件,讲你的函数库调用写到.bashrc文件中,下次启动shell时,就可以在命令行中使用库中的函数了,而且shell还会将定义好的函数传给子shell进程,这样这些函数就可以用于任何shell会话中了

5. 使用Shellcheck

为了确保你的脚本库没有错误,可以使用 Shellcheck 工具进行语法和逻辑检查。

shellcheck mylib.sh

6. 编写注释及说明文档

编写文档来描述你的脚本库中每个函数的用途、参数和返回值,这将帮助其他开发者更好地理解和使用你的脚本库。

通过这些步骤,你可以创建一个Shell脚本库,并在其他脚本中重用这些功能。记住,脚本库应该放置在所有脚本都能访问到的位置,或者通过环境变量 PATH 来指定其路径。