好吧,那么让我说我的内部有一个.bash文件
lib.bash
#!/bin/bash
function hello_world {
echo "Hello World!"
}
该文件不会自行调用,而是通过另一个bash文件调用,即
Startup.bash
#!/bin/bash
bash lib.bash
hello_world
但是,如果我运行Startup.bash,我会收到错误:hello_world: command not found
我做错了什么,或者是不可能做我正在尝试做的事情。
答案 0 :(得分:2)
您可以在startup.bash
:
source lib.bash
source
命令在当前 shell环境中运行文件,而不是使用bash lib.bash
(或. lib.bash
)创建 new ,该脚本的单独环境(并且只有该脚本),这就是该功能未被转移的原因。
(source)
答案 1 :(得分:1)
为什么不直接在第一个脚本中调用函数?
它看起来像这样:
#!/bin/bash
function hello_world {
echo "Hello World!"
}
hello_world
如果它是一个简单的脚本,根本不应该是一个问题。 否则尝试使用source命令,如minerz029建议:)
答案 2 :(得分:0)
看看这对你是否也有帮助: