【发布时间】:2010-09-16 13:51:37
【问题描述】:
通常包含脚本的方式是使用“源”
例如:
main.sh:
#!/bin/bash
source incl.sh
echo "The main script"
包括.sh:
echo "The included script"
执行“./main.sh”的输出为:
The included script
The main script
...现在,如果您尝试从另一个位置执行该 shell 脚本,它无法找到包含,除非它在您的路径中。
什么是确保您的脚本可以找到包含脚本的好方法,尤其是在脚本需要可移植的情况下?
【问题讨论】:
-
你的问题非常好,内容丰富,我的问题在你问之前就得到了回答你的问题!干得好!
-
@GabrielStaples 节省了一些滚动,我猜?妈
-
@NateT,当然!
-
相关/也回答了这个问题,顺便说一句:这是我关于如何获取正在运行的脚本的
SCRIPT_DIRECTORY路径的答案,因此您可以使用它来导入 (viasourceor.)与当前脚本相关的其他脚本:How can I get the source directory of a Bash script from within the script itself?。 (我的答案在列表的最后,拥有这个链接也可以为你节省一些滚动时间:))。我的答案可以被认为是这里接受的答案的变体。
标签: bash