⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex2.sh

📁 Shall高级编程
💻 SH
字号:
#!/bin/bash# Cleanup, version 3#  Warning:#  -------#  This script uses quite a number of features that will be explained#+ later on.#  By the time you've finished the first half of the book,#+ there should be nothing mysterious about it.LOG_DIR=/var/logROOT_UID=0     # Only users with $UID 0 have root privileges.LINES=50       # Default number of lines saved.E_XCD=66       # Can't change directory?E_NOTROOT=67   # Non-root exit error.# Run as root, of course.if [ "$UID" -ne "$ROOT_UID" ]then  echo "Must be root to run this script."  exit $E_NOTROOTfi  if [ -n "$1" ]# Test if command line argument present (non-empty).then  lines=$1else    lines=$LINES # Default, if not specified on command line.fi  #  Stephane Chazelas suggests the following,#+ as a better way of checking command line arguments,#+ but this is still a bit advanced for this stage of the tutorial.##    E_WRONGARGS=65  # Non-numerical argument (bad arg format)##    case "$1" in#    ""      ) lines=50;;#    *[!0-9]*) echo "Usage: `basename $0` file-to-cleanup"; exit $E_WRONGARGS;;#    *       ) lines=$1;;#    esac##* Skip ahead to "Loops" chapter to decipher all this.cd $LOG_DIRif [ `pwd` != "$LOG_DIR" ]  # or   if [ "$PWD" != "$LOG_DIR" ]                            # Not in /var/log?then  echo "Can't change to $LOG_DIR."  exit $E_XCDfi  # Doublecheck if in right directory, before messing with log file.# far more efficient is:## cd /var/log || {#   echo "Cannot change to necessary directory." >&2#   exit $E_XCD;# }tail -n $lines messages > mesg.temp # Saves last section of message log file.mv mesg.temp messages               # Becomes new log directory.# cat /dev/null > messages#* No longer needed, as the above method is safer.cat /dev/null > wtmp  #  ': > wtmp' and '> wtmp'  have the same effect.echo "Logs cleaned up."exit 0#  A zero return value from the script upon exit#+ indicates success to the shell.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -