我有三个脚本:
脚本A:
echo "Hey you!"
脚本 B:
source ./A.sh
脚本 C:
source ./libs/B.sh
因此,位于文件夹“libs”中的脚本A和B以及脚本C使用该目录中的脚本B。
脚本C抛出错误:
./libs/B.sh: line 1: ./A.sh: 没有那个文件或目录
如何在这种情况下正确使用“包含”脚本?
我理解为什么会发生这种错误,但我不知道如何修复它。 另外!我不想使用完整路径进行包含,比如/home/.../libs/A.sh等。 我想创建无需永久编辑即可自由移动的脚本。
./
。. <scriptname>
和source <scriptname>
是同一件事。正如您提到的,脚本 A 和 B 在 libs 目录中,我假设脚本 C 也在同一个目录中,如果所有三个脚本都驻留在同一个目录中,则不需要使用./
。 - Gaurav Pathak$PATH
中找到了scriptname
,则会使用该文件而不是当前目录中的文件。 - tokland