调用shell的方法通过在子目录中的文件的链

调用shell的方法通过在子目录中的文件的链

问题描述:

我试图调用从文件的方法与结构来文件调用shell的方法通过在子目录中的文件的链

#!/bin/bash 
source ./subDir/inSub.sh 
subMethod; 

inSub.sh:

#!/bin/bash 
source ./subSubDir/inSubSub.sh 
subMethod() { 
    echo "I'm in sub" 
} 
subSubMethod; 

inSubSub.sh:

#!/bin/bash 
subSubMethod() { 
    echo "I'm in subSub" 
} 
subSubMethod; 

运行$ ./inRoot.sh

subDir/inSub.sh: line 2: subSubDir/inSubSub.sh: No such file or directory 
subDir/inSub.sh: line 6: subSubMethod: command not found 
I'm in sub 

这样的结果,它为第一个呼叫,但不工作更深入。

btw:使用。 ./而不是来源./返回相同

如何做到这一点,如果有可能?

+0

当前工作目录并没有改变,只是因为剧本sourceing或执行文件。要更改当前目录,您必须*使用'cd'。 – AlexP

+0

谢谢大家,伙计!非常感谢您的帮助。 –

你必须改变你的inSub.sh像

​​