gpt4 book ai didi

shell - 如何在不关闭运行脚本的ssh/telnet session 的情况下退出shell脚本

转载 作者:行者123 更新时间:2023-12-03 07:54:49 26 4
gpt4 key购买 nike

我试图使KornShell(ksh)脚本编译文件夹中的所有Java文件。

该脚本由Apache Ant调用,因此我需要返回一个错误代码,以便它知道何时失败。

function check_if_error
{
if [ $1 != 0 ]
then
echo "Unable to compile java module"
echo "Error code $1"
echo "Reason: $2 module"
java_fail=1
exit 1
fi
}


echo "Compiling the java files..."
javac com/cmsi/eValuate/ScriptProcessor/*.java
check_if_error $? "ScriptProcessor"

我已在其中一个Java文件中强加了一个编译错误,因此当它到达函数的 exit 1部分时,它将终止登录到该框并运行此脚本的telnet session 。

我尝试了 return,但是 return不会杀死shell脚本,它会一直运行。

我尝试了 kill -1 $$,但这也关闭了终端 session 。

我正在使用Solaris 5 OS。

最佳答案

您可以尝试以下方法:

echo compiling...
if ! javac com/cmsi/eValuate/ScriptProcessor/*.java
then
echo "compilation errors"
return 1
fi

我对ant不熟悉,但是听起来它正在当前 shell 中执行(采购)您的代码,而不是生成可以成功退出的子 shell 。

关于shell - 如何在不关闭运行脚本的ssh/telnet session 的情况下退出shell脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20913393/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com