退出shell脚本

阿维纳什·科维(Avinash Kv)

我有两个shell脚本abc.shdef.sh在其中abc.sh执行def.sh,控件abc.sh通过return语句返回。

我有一个echo命令,后面跟一个退出命令,该命令显然不起作用。

在下面,您将看到有关的内容 abc.sh

sleep 60;
bash ./gen_files/def.sh ./gen_files/regress_rpt_1_0.txt
sleep 60;
bash ./gen_files/def.sh ./gen_files/regress_rpt_1_1.txt
sleep 10;
echo "COMPLETED **** EXITING NOW ****";
exit 0;

请找到def.sh的内容

#!/bin/bash

function build_status()
              {
                FILE=$1
                if test -f "$FILE"; then
                  echo "$FILE File Exists"
                  if `grep -q "Build Job" $FILE`;then
                    echo "Build found,Continuing to next launch statement"
                    return
                  else
                    echo "Build Not Found,Waiting for the build"
                    sleep 120
                    build_status $FILE
                  fi
                else
                  echo "$FILE Not Found"
                  #build_status $FILE
                fi
              }
            FILE=$1
            build_status $FILE

我希望脚本在打印后退出COMPLETED **** EXITING NOW ****并返回到终端。但是,我现在看到的是脚本不会自行退出。我可以在终端中看到打印内容,并且shell脚本仍在运行,没有任何活动

库萨兰达

abc.sh作为后台作业运行这意味着def.shabc.sh脚本在后台运行时,脚本(和脚本)的输出将被打印到终端

脚本完成后,它将终止。

您正在后台运行脚本并将其输出到终端这一事实意味着它会覆盖启动脚本后shell立即打印的提示。直到您按下,外壳程序才会输出新的提示Enter

解决方案是将脚本的输出写入日志文件,

./abc.sh >abc.log 2>&1 &

(这会写出输出和错误(abc.log如果不存在则会创建错误,如果存在则将清空),或者为了不在后台运行脚本,

./abc.sh

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

不退出 shell 脚本

来自分类Dev

变量分配退出Shell脚本

来自分类Dev

在shell脚本中间退出sudo

来自分类Dev

变量赋值退出Shell脚本

来自分类Dev

Unix Shell脚本:退出并返回值

来自分类Dev

通过shell脚本退出或关闭vim

来自分类Dev

Shell脚本选择多个重复项或退出

来自分类Dev

防止Shell脚本随Control C退出

来自分类Dev

从Scala脚本退出Spark-shell

来自分类Dev

通过Maven执行后退出Shell脚本

来自分类Dev

从子shell退出整个bash脚本

来自分类Dev

退出带有嵌套循环的shell脚本

来自分类Dev

通过shell脚本退出或关闭vim

来自分类Dev

退出shell脚本中的tail -f

来自分类Dev

Shell脚本选择多个重复项或退出

来自分类Dev

进程检查失败时退出Shell脚本

来自分类Dev

如何使用Shell脚本从vi中退出?

来自分类Dev

从shell脚本中的函数捕获退出状态

来自分类Dev

Shell脚本:While循环过早退出

来自分类Dev

如何退出在脚本中打开的shell?

来自分类Dev

如何设置shell脚本的退出状态?

来自分类Dev

在“陷阱退出”中获取shell脚本的退出代码。

来自分类Dev

如果磁盘空间大于75,则退出脚本的shell脚本

来自分类Dev

如果默认CMD是Shell脚本,则Docker停止退出代码-1

来自分类Dev

如何避免Shell脚本因特定命令失败而退出

来自分类Dev

退出脚本后如何退回到python shell?

来自分类Dev

如何在Shell脚本中捕获退出1信号?

来自分类Dev

使用php启动shell脚本并退出它而不停止进程

来自分类Dev

Shell脚本在失败时不记录Java退出状态