在ksh中,我需要声明un全局函数,但是我找不到正确的代码。 你能说出它是否可能以及如何?
我的代码的例子:
$ cat script1.ksh
#/bin/ksh
. ./lib.ksh
printVar "script1"
./script2.ksh
$ cat script2.ksh
#/bin/ksh
printVar "script2"
$ cat lib.ksh
function printVar {
echo "$1"
}
执行:
$ ./script1.ksh
script1
./script2.ksh: line 2: printVar: command not found
感谢您的帮助!
答案 0 :(得分:1)
更改script2.ksh
,以便lib.ksh
知道您的“功能库”,如下所示:
#/bin/ksh
. ./lib.ksh # Dot in my function library
printVar "script2"
答案 1 :(得分:1)
如Setchell所述,在script2中包含lib.ksh,或者在script1中包含script2:
$ cat script1.ksh
#/bin/ksh
. ./lib.ksh
printVar "script1"
. ./script2.ksh
$ cat script2.ksh
#/bin/ksh
printVar "script2"
$ cat lib.ksh
function printVar {
echo "$1"
}