Shell 命令挂后台执行

时间:2022-09-23 02:27:45

  使用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

截图:

Shell 命令挂后台执行