在Linux上从命令行运行脚本中的一个函数

在Linux上从命令行运行脚本中的一个函数

简介

BASH(Bourne Again SHell)是一种Unix外壳和命令语言,在Linux和其他类Unix操作系统中经常使用。BASH的一个有用功能是能够在脚本文件中创建和使用函数。函数是完成特定任务的代码块,可以从脚本中或从命令行中执行。

先决条件

在我们开始之前,你将需要–

  • 一个有命令行界面(或SSH访问)的Linux系统。

  • 一个包含你要运行的函数的脚本(你的自定义脚本)。

  • 执行脚本所需的权限(读/写/执行)。

本教程将告诉你如何在Linux系统上从命令行运行BASH脚本中的一个函数。我们将首先创建一个包括一个函数的简单BASH脚本,然后演示如何从命令行调用该函数。

用一个函数创建一个BASH脚本

首先,我们将创建一个BASH脚本,其中包含一个简单的函数,在终端显示一条信息。打开一个文本编辑器,创建一个名为 “hello.sh “的新文件,其代码如下 —

#!/bin/bash
# Define a function called "hello"
hello() {
   echo "Hello, Earth!"
}
# Call the function
hello

保存文件并使用chmod命令使其可执行——。

$ chmod +x hello.sh

现在,我们可以使用./前缀和脚本名称来运行该脚本 —

$ ./hello.sh
Hello, Earth!

正如你所看到的,该脚本运行并向终端打印出 “你好,地球!”的信息。

在命令行中执行bash脚本中的一个函数

要从命令行运行一个函数,我们需要使用bash -c命令,后面跟上脚本文件的名称和函数的名称。

例如,要从hello.sh脚本中运行hello函数,我们可以使用下面的命令–

$ bash -c "source hello.sh; hello"
Hello, World!

或者,我们可以使用. (dot)命令来获取脚本的源代码,并调用函数

$ . hello.sh; hello
Hello, World!

从bash脚本执行函数时的高级动作

  • 向函数传递参数 – 你可以通过向函数传递参数来定制它的行为。例如,你可能想创建一个函数,将一个用户名作为输入,并打印出一个个性化的问候语。你可以在BASH中使用1、2等变量向函数传递参数,这些变量代表传递给函数的第一个、第二个等参数。

  • 从一个函数中返回数值 – BASH函数可以使用return命令返回数值。例如,你可以创建一个函数来计算一个数字的平方并返回结果。return命令后面是你想返回的值,它被保存在$ ? 变量中,可以从调用脚本或命令行中访问。

  • 调试BASH函数 – 调试BASH函数可能很困难,特别是对于那些刚开始使用BASH脚本的人。调试函数的一个方法是使用set -x命令,它可以启用脚本的调试输出,并在每条命令执行前打印出来。你可以用set +x命令关闭调试输出。其他工具如bashdb或bashdbg提供了更高级的调试功能,如断点和变量检查。

用命令行参数运行Python脚本

要从命令行中运行一个脚本中的函数,你需要指定脚本的名称,然后是你要运行的函数的名称。例如,如果你有一个名为myscript.py的脚本,其中有一个名为myFunction的函数,你可以像这样从命令行运行该函数

$ python myscript.py myFunction

如果该函数需要任何参数,你可以在函数名称后面传递这些参数,用空格隔开。例如,如果该函数需要两个参数arg1和arg2,你可以像这样运行它

$ python myscript.py myFunction arg1 arg2

下面是一个带有函数的脚本示例,该函数接收两个参数并打印它们的总和

# myscript.py
def myfunction(arg1, arg2):
   print(arg1 + arg2)
myfunction(1, 2)

要从命令行运行这个函数,请使用以下命令

$ python myscript.py myFunction 1 2

这样就有了3的输出。

结论

本教程向你展示了如何在Linux系统上从命令行运行BASH脚本中的一个函数。我们首先创建了一个包含函数的简单BASH脚本,然后演示了如何使用bash -c和.命令从命令行调用该函数。如果你有任何问题或意见,请在下面的评论区留言。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Linux 基础