使用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
截图: