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

截图:

原文地址:https://www.cnblogs.com/kimbo/p/7116677.html