我有两个bash文件,位于不同的文件夹中。我想从bash文件a中从另一个bash文件b中调用abc()
方法,为此我可以进行导入。但是,如果这些代码被用于生产环境呢?我不能简单地提供我在本地创建的文件。
的例子:
-
我正在运行的主bash文件"third">
#!/bin/bash . /Users/r/r1-tests/r/fourth abc
-
bash文件"fourth"其中method声明为
#!/bin/bash function abc() { echo "hello" }
我可以不使用"在"第三"?
但是如果在生产环境中使用这些代码呢?
那就把它也包括进去。
您的问题似乎不是包含文件,而是包含不使用绝对路径的文件。所以使用相对包含它路径。相对于. .例如当前文件:
. "${BASH_SOURCE%/*}"/dir/with/fourth
- 在Bash 中获取文件路径参数中的最后一个dirname/filename
- 如何从脚本本身中获得Bash脚本的源目录?
或者相对于git存储库:
. "$(git rev-parse --show-toplevel)"/some/dir/dir/with/fourth
- 是否有办法在一个命令中获得git根目录?