仅将值从Shell脚本的功能返回到另一个Shell脚本

时间:2019-02-13 07:03:08

标签: shell ksh

我有一个脚本名称check.ksh,它将检查某些功能并为此检查不同的功能:

!/bin/ksh
print "start"
val1=$1
val2=$2
func=$3

checkfunc() {
 if [[ $val1 != $val2 ]]
 then
         print "argument differs"
         exit 0
 else
         print "argument same"
         exit 1
 fi
 }
anotherfunc() {

print "blah blah"
}
 $func 2&1> testlog.log
 print "end"

和另一个包装脚本名称wrapper.ksh,它将用作check.ksh的包装脚本:

#!/bin/ksh

wfunc() {
check.sh $1 $2 $3
[[ $? -eq 0 ]] && printf "different argument passed" || printf "same argument passed"
}

wfunc $1 $2 $3

当我运行./wrapper.sh test1 test1 checkfunc时,应将输出作为调用脚本"same argument passed"的{​​{1}}打印为check.sh 以1 退出>

但是我总是得到$吗?为0

我试图打印一些值或使用return,但是同样的问题,我们能否仅将函数的输出返回到wrapper.ksh

注释:我无法删除check.sh中的打印内容和其他内容,只能编辑checkfunc()

check.sh的内容

0 个答案:

没有答案