输出执行操作和打印日志的shell脚本实例
cat/mnt/log_function.sh #!/bin/bash #logfunction ####log_correct函数打印正确的输出到日志文件 functionlog_correct(){ DATE=`date“+%Y-%m-%d%H:%M:%S”`####显示打印日志的时间 USER=$(whoami)####那个用户在操作 echo“${DATE}${USER}execute$0[INFO]$@”>>/var/log/log_info.log######($0脚本本身,$@将参数作为整体传输调用) }
log_error打印shell脚本中错误的输出到日志文件
functionlog_error() { DATE=`date“+%Y-%m-%d%H:%M:%S”` USER=$(whoami) echo“\${DATE}\${USER}execute\$0[INFO]\$@”>>/var/log/log_error.log }
###fn_log函数通过if判断执行命令的操作是否正确,并打印出相应的操作输出
functionfn_log() { if[$?-eq0] then log_correct“$@sucessed!” echo-e“\033[32m$@sucessed.\033[0m” else log_error“$@failed!” echo-e“\033[41;37m$@failed.\033[0m” exit fi }
知识点:
(1)$?判断执行命令的返回值,命令执行正确返回0,命令执行错误返回1
(2)”$@”将执行命令以一个参数的形式显示出来。
(3)echo-e“\033[32m$@sucessed.\033[0m”成功时以红色形式显示执行命令的内容。
(4)echo-e“\033[41;37m$@failed.\033[0m”失败时以绿色的形式显示执行命令的内容
(5)date“+%Y-%m-%d%H:%M:%S”显示详细的日志时间(年月日时分秒)
调用日志函数脚本的执行脚本(log_correctlog_errorfn_log)
vilog_exec.sh #!/bin/sh if[-e/mnt/log_function.sh] then source/mnt/log_function.sh else echo-e“\033[41;37m/mnt/log_function.shisnotexist.\033[0m” exit1 fi USER=`whoami` if[$USER==root] then log_correct“executebyroot” else log_error“executeby${USER}” echo-e“\033[41;37myoumustexecutethisscritpbyroot.\033[0m” exit1 fi if[-e/var/log/message] then echo0>/var/log/message fn_log“echo0>/var/log/message” fi
以上这篇输出执行操作和打印日志的shell脚本实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。