首页 > 系统相关 >【linux/shell】如何创建脚本函数库并在其他脚本中调用?

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

时间:2024-07-08 11:26:56浏览次数:24  
标签:脚本 shell 函数库 mylib sh 使用 函数

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

1. 创建脚本库文件

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

#!/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 来指定其路径。
 

 

标签:脚本,shell,函数库,mylib,sh,使用,函数
From: https://blog.csdn.net/qq_35902025/article/details/140258116

相关文章

  • 随着云计算和容器技术的广泛应用,如何在这些环境中有效地运用 Shell 进行自动化部署和
    在云计算和容器技术的环境中,Shell脚本可以被用于自动化部署和管理任务。下面是一些在这些环境中有效使用Shell进行自动化部署和管理的方法:在云环境中,使用云服务提供商的API进行自动化管理。例如,使用命令行工具或SDK来管理云资源、启动虚拟机、创建存储等。将这些A......
  • unity编辑器拓展,查找项目中预制体引用的组件或者脚本
    `usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;usingUnityEditor;usingUnityEngine.UI;usingSystem.Reflection;usingSystem;publicclassSearchComponent:EditorWindow{privatestringcomponentName="UnityEngine.......
  • 在Linux中,bash shell 中的 hash 命令有什么作用?
    在bashshell中,hash命令与命令查找和缓存机制紧密相关。当你输入一个命令时,bash需要找到该命令的可执行文件的位置(即其路径)以便执行它。bash有几种方式来完成这个任务,其中之一就是使用哈希表(hashtable)来缓存之前查找过的命令的路径。这就是hash命令发挥作用的地方。1.hash命令......
  • XShell连接失败解决
     实现:宿主机的Windows和虚拟机的Linux能够进行网络连接,同时虚拟机的Linux可以通过宿主机的Windows进入互联网简而言之:Windows和虚拟机的Linux能够互相ping成功解决的问题:XShell连接不成功第一步:编辑VMware的网络配置然后全部点击确定,VMware的网络配置......
  • JSP静态Webshell编码
    #0x00 背景介绍JSP静态Webshell分析,包括unicode、html、cdata、特殊字体编码等,相互结合以达到欺骗效果。#0x01unicode编码JSP中可以解析unicode编码,通过contentType字段定义。原始一句话如下:Stringcmd=request.getParameter("cmd");Processprocess=Runtime.getRu......
  • Linux启动&重启jar脚本
    启动&重启jar#!/bin/bash#设置颜色代码\033、\e和\E是等价的RED='\033[0;31m' #红色 GBLUE='\033[0;36m' # GREEN='\033[0;32m' #绿色PURPLE='\033[0;35m'#紫色PINK='\E[0;35m' #粉红YELOW='\E[0;33m......
  • 《已解决》无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
    原因:Python环境未正确配置:可能你没有将Python添加到系统的环境变量中。你需要手动将Python的安装目录(以及包含 pip.exe 的文件夹)添加到系统的环境变量 PATH 中。 解决:1.找到python的安装目录键盘按下  win键+R键,输入cmd回车。随后输入wherepythonwhere......
  • 认识终端和shell
    【教程】在macOS上用VSCode写C++代码4认识终端和shell内建程序与内建命令打开终端,其实相当于打开了shell。shell可以运行一些程序(例如sayhello、/bin/mkdir)。shell自身也带着一些程序(二进制可执行文件),这些程序就叫内建程序。特点:调用shell内建程序的时候只需要敲一个单......
  • 这些 PowerShell 命令适用于清理 Windows 中更多不同组件和服务的日志。通过定期执行
    清理临时文件:powershellCopyCodeRemove-Item-Path"$env:TEMP\*"-Force-RecurseRemove-Item-Path"$env:LOCALAPPDATA\Temp\*"-Force-Recurse清理回收站:powershellCopyCodeClear-RecycleBin-Force清理浏览器缓存(例如清理Chrome缓存):powershellCopy......
  • 抖音引流推广的几个方法,抖音全自动引流脚本软件详细使用教学,小红书截流软件,快手获客工
    抖音是目前很多商家都喜欢的一个销售平台,想要获取精准客户,那么高效的引流方法你一定要懂,特别是同城引流。那么抖音同城引流的话可以有哪些软件可以用呢?我们可以看一下这个软件,功能非常牛:抖音全自动曝光获客云科技V6.0保姆级教程,一天精准引流3000+精准粉创业粉【获客必备百......