X皮书之shell 常用代码
生活随笔
收集整理的這篇文章主要介紹了
X皮书之shell 常用代码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄 ??思維導圖 ??序 ??寫一個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" ] ; thenecho "You must run this script as root. Sorry!"exit 1 fiexit 0? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?看看它的運行情況
?
還有一種寫法(我比較喜歡上面的寫法):
#!/bin/bashif [ "$UID" -ne 0 ] ; thenecho "You must run this script as root. Sorry! Your uid:$UID root_uid:0"exit 1 fiexit 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" != "" ] ; thenkill -9 $pid &>/dev/null fiexit 0? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?看看它的運行情況
?
還有一種殺進程的方式
pkill -9 -f $1?
?
局部掃盲 ? 特殊文件/dev/null(位桶):傳送到此文件的數據都會被系統丟掉。——當你不需要輸出的時候,非常有用 也就是說當程序將數據寫入到此文件的時,會認為它已成功完成寫入數據的操作,但實際上什么事都沒做。 #!/bin/bashecho "No output" > /dev/null echo "Output"exit 0? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?看看它的運行情況
?
? 捕獲退出狀態(用$?捕獲):0為表示“成功”,其他任何退出狀態都為失敗。
#!/bin/bash ls -l /dev/null echo $?ls nofile # ls一個不存在的文件 echo $?exit 0? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?看看它的運行情況
? 文件描述符:Unix以小整數數字表示每個進程的打開文件。(注意空格)
| 文件描述符 | 代表的意義 |
| 0 | 標準輸入 |
| 1 | 標準輸出 |
| 2 | 標準錯誤輸出 |
?
?
?
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?我們來看那幾個文件都輸出了什么東東?
?
總結 歸納總結以方便下次使用。——送一句話,不積跬步無以致千里。 未提及,我必須要學會的幾個命令:awk、test、sort、sed。——這幾個命令在實際應用中非常有用,我還沒學習過這幾個命令。 推薦?
總結
以上是生活随笔為你收集整理的X皮书之shell 常用代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Bitmap 索引 vs. B-tree
- 下一篇: dtree.js树的使用