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