Shell 命令挂后台执行


  使用nohup命令,结合&

#!/bin/bash

#挂后台执行文件 kimbo_test.sh

nohup sh kimbo_test.sh >a.log 2>&1 &

 


 

说明:0 是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(STDERR)。 

黑洞: /dev/null

如清空文件内容: cat /dev/null > kimbo_test.sh

常见的重定向:  sh command >> file_log.txt 2>&1  (表示将 stdout 和 stderr 合并后重定向追加到 file_log.txt 中)

 

例子: 查询liunx系统,是否按照Hive,Sqoop

#!/bin/bash

## 将标准错误(2)重定向到 /dev/null, 检测hive环境, $? 判断上一个命令是否执行成功
hive=$(which hive 2>/dev/null)
if [ $? -ne 0 ];then
    echo "没有安装或配置Hive环境!"
else
    echo "已安装Hive。"
fi

## 检测sqoop环境
sqoop=$(which sqoop 2>/dev/null)
if [ $? -ne 0 ];then
    echo "没有安装或配置Sqoop环境!"
else
    echo "已安装Sqoop。"
fi

截图:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM