加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

unix – 如果[$? -ne 0]然后语法错误然后意外

发布时间:2020-12-15 22:05:45 所属栏目:安全 来源:网络整理
导读:我一直在尝试执行以下无法正常运行的UNIX shell脚本. 我正在通过Korn Shell(ksh)运行它. echo $?;if [ $? -ne 0 ]then failed $LINENO-2 $5 $6fifailed(){ echo "$0 failed at line number $1"; echo "moving $2 to failed folder"} 这是一个错误说法语错误
我一直在尝试执行以下无法正常运行的UNIX shell脚本.
我正在通过Korn Shell(ksh)运行它.

echo $?;
if [ $? -ne 0 ]
then
 failed $LINENO-2 $5 $6
fi
failed()
{
        echo "$0 failed at line number $1";
 echo "moving $2 to failed folder"
}

这是一个错误说法语错误:然后意外..基本上我必须检查最后执行的ksh脚本的最高/最后一个语句的返回码,如果它不等于零,我必须用给定的参数调用函数失败.我之前尝试过分号,但这也没用.

你能帮忙吗?

Edit1:根据输入改变了代码.仍然存在同样的问题.

ksh ../prescript/Pre_process $1 $2 $3
rc=$?;
if [[ $rc -ne 0 ]];then
    echo "failed";
       exit 1;

EDIT2:
它通过使用双方括号在当时的部分工作.我觉得我使用bash脚本的代码为ksh.我在失败的函数调用中遇到问题.在这个例子中,请让我知道ksh中函数调用的适当方式

解决方法

这看起来像bash而不是ksh

failed() {  
  echo "$0 failed at line number $1";  
  echo "moving $2 to failed folder"  
}

if [[ $? -ne 0 ]]
then
  failed $LINENO-2 $5 $6  
fi

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读