2014年7月21號 (shell學習一)

來源:互聯網
上載者:User

標籤:blog   http   使用   檔案   2014   re   

執行個體一:

第一步:使用vi建立一個檔案**.sh(vi的使用這裡暫不介紹)

#!/bin/bash 註:這是指明有那個shell來解釋下邊的命令

 cd /var/log  #切換目錄到/var/log下(#是shell中的注釋符)
 cat /dev/null > messages #這裡用到啦輸入輸出重新導向這裡是輸入重新導向,/dev/null是linux中的裝置,俗稱無低洞。
 cat /dev/null > wtmp
 echo "Logs cleaned up." 這裡是輸出一句話


增強版:

 #!/bin/bash
#Cleanup 2, 版本

LOG_DIR=/var/log(註:shell是一種弱類型變數,不需要聲明變數)
 cd $LOG_DIR
 cat /dev/null > messages
 cat /dev/null > wtmp
 echo "Logs cleaned up."
 exit


 #!/bin/bash
 LOG_DIR=/var/log
ROOT_UID=0
LINES=50 
E_XCD=66 # 不能修改目錄?
E_NOTROOT=67 # 非根使用者將以error 退出
 if [ "$UID" -ne "$ROOT_UID" ]


   then
   echo "Must be root to run this script."
   exit $E_NOTROOT
 fi

 if [ -n "$1" ]
 then
 lines=$1
 else
 lines=$LINES # 預設,如果不在命令列中指定
 fi
bbpengwang解釋:判斷字串$1是否為空白,若為空白則返回false,不為空白則返回ture
 cd $LOG_DIR
 if [ `pwd` != "$LOG_DIR" ] # 或者 if[ "$PWD" != "$LOG_DIR" ]
 # 不在 /var/log 中?
 then
 echo "Can‘t change to $LOG_DIR."
 exit $E_XCD
 fi # 在處理log file 之前,再確認一遍目前的目錄是否正確.

 tail -$lines messages > mesg.temp 
mv mesg.temp messages

 cat /dev/null > wtmp # ‘: > wtmp‘ 和 ‘> wtmp‘具有相同的作用
 echo "Logs cleaned up."
 exit 0
 # 退出之前返回0,返回0 表示成功.

本人中文名字:王鵬,英文名字:pengwang,連絡方式:1352920044,qq群:363356101

 這裡提醒一下大家,一定要注意if語句的寫法if [ ] if要和方括弧之間有空格,運算式要和方闊號之間有空格
 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.