#!/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 ~]#               #->已经清空;

应用场景:保留文件、清空内容