X皮書之shell 常用代碼

來源:互聯網
上載者:User
 目錄   思維導圖  序  寫一個die函數

  必須以root帳號執行本指令碼  命令列傳參  殺掉指定進程  局部掃盲  總結 思維導圖  

  序   把這幾天常用的一些方法積累下來,以便以後使用。這隻是基礎應用,如果你是這方面的高手,望請多指教。  寫一個die函數  

#!/bin/bashdie () {    echo "ERROR: $1. Aborting "    exit 1}mkdir -p `dirname "/etc/zhoubc/test.sh"` || die "Could not create directory"echo "OK"exit 0

                                     看看它的運行情況

 必須以root帳號運行本指令碼 
#!/bin/bashif [ `whoami` != "root" ] ; then    echo "You must run this script as root. Sorry!"    exit 1fiexit 0

                                     看看它的運行情況

 

還有一種寫法(我比較喜歡上面的寫法):

#!/bin/bashif [ "$UID" -ne 0 ] ; then    echo "You must run this script as root. Sorry! Your uid:$UID root_uid:0"    exit 1fiexit 0

                                     看看它的運行情況

 

命令列傳參 
#!/bin/bashcase $1 in    "start" )        echo "You Input The Commond:start"        ;;      "stop" )        echo "You Input The Commond:stop"        ;;      "restart" )        echo "You Input The Commond:restart"        ;;      * )         echo "$0 { start | stop | restart }"        ;;  esacexit 0

                                     看看它的運行情況

 

殺掉指定進程 
#!/bin/bash#讀出進程要殺進程的ID號pid=`ps aux | grep $1 | grep -v grep | awk '{print $2}'`#開殺if [ "$pid" != "" ] ; then    kill -9 $pid &>/dev/nullfiexit 0

                                     看看它的運行情況

 

還有一種殺進程的方式

pkill -9 -f  $1

 

 

 局部掃盲     特殊檔案/dev/null(位桶):傳送到此檔案的資料都會被系統丟掉。——當你不需要輸出的時候,非常有用        也就是說當程式將資料寫入到此檔案的時,會認為它已成功完成寫入資料的操作,但實際上什麼事都沒做。  

#!/bin/bashecho "No output" > /dev/nullecho "Output"exit 0

                                     看看它的運行情況

 

    捕獲退出狀態(用$?捕獲):0為表示“成功”,其他任何退出狀態都為失敗。

#!/bin/bashls -l /dev/nullecho $?ls nofile # ls一個不存在的檔案echo $?exit 0

                                     看看它的運行情況

    檔案描述符:Unix以小整數數字表示每個進程的開啟檔案。(注意空格)

檔案描述符 代表的意義
0 標準輸入
1 標準輸出
2 標準錯誤輸出

 

 

 

 

                                     我們來看那幾個檔案都輸出了什麼東東?

 

總結   歸納總結以方便下次使用。——送一句話,不積跬步無以致千裡。   未提及,我必須要學會的幾個命令:awk、test、sort、sed。——這幾個命令在實際應用中非常有用,我還沒學習過這幾個命令。 推薦 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.