好的,假设我有一个.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
我做错了什么,或者不可能做我想要做的事情。
发布于 2013-09-03 11:20:49
您可以在startup.bash中使用此命令
source lib.bashsource命令在当前 shell环境中运行文件,与使用bash lib.bash不同
(或. lib.bash),它为该脚本创建一个新,为该脚本单独创建环境(只有该脚本),这也是函数未继续执行的原因。
(来源)
发布于 2013-09-03 11:23:03
为什么不直接在第一个脚本中调用函数呢?
看起来会是这样的:
#!/bin/bash
function hello_world {
echo "Hello World!"
}
hello_world如果它是一个简单的脚本,应该不是一个问题。否则,尝试源代码命令,就像minerz029建议的那样:)
发布于 2013-09-03 11:43:57
看看这对你是否也有帮助
外壳脚本加载器
https://stackoverflow.com/questions/18590883
复制相似问题