写一个shell 脚本 使用function 调用另一个 shell 脚本的 function
时间: 2023-07-05 16:33:15 浏览: 55
好的,以下是一个示例脚本:
```bash
#!/bin/bash
# 定义一个函数
my_func() {
echo "Hello, world!"
}
# 调用另一个脚本的函数
source another_script.sh
another_func
# 在脚本内部调用函数
my_func
```
其中,`my_func` 是当前脚本内部的函数,`source` 命令用于执行另一个脚本,在该脚本中定义了 `another_func` 函数,可以在当前脚本中进行调用。在脚本内部,可以直接调用 `my_func` 函数。
注意,另一个脚本中的函数需要使用 `source` 命令进行执行,才能在当前脚本中进行调用。
相关问题
shell脚本写一个函数来调用
其他命令或脚本,你能给我一个示例吗?
当然可以,下面是一个示例:
```bash
# 定义一个函数,用于调用其他命令或脚本
function call_command() {
local command_name=$1
shift
# 将所有参数传递给命令或脚本
$command_name "$@"
}
# 调用 ls 命令
call_command ls -l
```
在上面的示例中,我们定义了一个名为 `call_command` 的函数,它接受一个命令或脚本名和任意数量的参数。函数内部使用 `$command_name` 和 `$@` 变量来调用命令或脚本,并将所有参数传递给它。最后,我们演示了如何使用 `call_command` 函数来调用 `ls` 命令,并传递 `-l` 参数。
shell脚本引用另一个shell脚本里的函数
要在一个shell脚本中引用另一个shell脚本中定义的函数,你可以使用以下几种方法:
1. 使用source或点操作符(.)来引入另一个脚本文件。例如,假设你有两个脚本文件:script1.sh和script2.sh。要在script1.sh中引用script2.sh中的函数,你可以在script1.sh中使用以下命令:
```
source script2.sh
```
或者
```
. script2.sh
```
这将使得script2.sh中的函数在script1.sh中可用。
2. 将需要引用的函数定义放在一个单独的文件中(例如,funcs.sh),然后在需要使用这些函数的脚本中引入该文件。例如,假设你有一个funcs.sh文件包含了一些函数定义。要在另一个脚本文件(例如,main.sh)中引用这些函数,可以在main.sh中使用以下命令:
```
source funcs.sh
```
3. 如果另一个脚本文件(例如,script2.sh)中只包含了一个函数定义,并且你只想引用这个函数,你可以将该函数定义放在一个单独的文件中,并将其作为可执行文件。然后,在需要使用这个函数的脚本中使用命令替换来调用该可执行文件并获取返回值。例如,假设你有一个函数定义在func.sh文件中:
```bash
#!/bin/bash
my_function() {
# 函数定义
echo "Hello, World!"
}
```
你可以将其保存为可执行文件(例如,func.sh),然后在另一个脚本中使用命令替换来调用该文件并获取函数的返回值:
```bash
result=$(./func.sh)
echo $result
```
这样,你就可以在需要的地方获取到函数的返回值。
这些方法可以帮助你在一个shell脚本中引用另一个shell脚本中的函数。请根据你的具体需求选择适合的方法。