我有一个脚本名称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
的内容