#!/bin/bash #log.sh LOG_DIR=/var/log #->定义日志的路径为变量; ROOT_UID=0 #->UID为0的用户只有root; if [ "$UID" -ne "$ROOT_UID" ] #->判定当前的用户的UID是否等于0,即是否是root用户; #-> -ne:条件测试中的 等于; then echo "Must be root to run this script."#->如果以上测试不成立则显示该内容; exit 1 #->如果以上测试成立则立刻退出继续执行下面的操作; fi cd $LOG_DIR || { #->切换到日志目录; #->符号"||"表示如果前面的表达式成功就不会执行后边的表达式,但是如果失败则会执行大括号里面的内容后立刻退出; echo "Cannot change to necessary directory." >&2 exit 1 } #->以上的条件测试通过后将会执行清除操作; cat /dev/null > messages && echo "Logs cleaned up." #->通过"&&"命令执行两条命令,须第一条执行成功后再执行第二条 exit 0 ~
1. exit 1指的是脚本运行的返回值,用来指示成功或失败,以及失败的原因。
2. 通常,exit 0表示成功,exit 1表示失败。
3. 你在自己写脚本的时候,可以定义失败的类型,比如exit 1表示错误1, exit 2表示错误2。
4. 在脚本运行后,可以用echo $?命令来确定脚本的返回值,从而判定脚本是否成功运行,或则有哪些错误。
-------------------------以下内容出自"oldboy讲师课程"------------------------------------
清空日志三种方法:
(1)
[root@YZC ~]# echo aaaaa > test.log #->建立一个测试文件test.log; [root@YZC ~]# cat test.log #->查看是否建立成功; aaaaa [root@YZC ~]# >test.log #->直接一个">"符号重定向到这个测试文件; [root@YZC ~]# cat test.log #->再次查是否成功清除; [root@YZC ~]# #->已经清空;
(2)
[root@YZC ~]# echo aaaaa > test.log #->建立测试文件test.log; [root@YZC ~]# cat test.log #->查看是否建立成功; bbbbb [root@YZC ~]# echo "">test.log #->直接重定向一个空到测试文件内; [root@YZC ~]# cat test.log #->再次查看是否成功清除; #->已经清空,但是出现了一行空行(不重要); [root@YZC ~]#
(3)
[root@YZC ~]# echo aaaaa > test.log #->建立测试文件test.log; [root@YZC ~]# cat test.log #->查看是否建立成功; bbbbb [root@YZC ~]# cat /dev/null >test.log #->查看黑洞并将它重定向到测试文件; [root@YZC ~]# cat test.log #->再次查看是否成功清除; [root@YZC ~]# #->已经清空;
应用场景:保留文件、清空内容
转载于:https://blog.51cto.com/guomaoqiu/1252606