if語句分為三種:
1、單分支結構
if [條件]
then
命令 fi
2.雙分支
3、多分支
練習1:
編寫shell指令碼,當系統記憶體小於一百時,進行郵件警報,並且每隔三分鐘檢驗一次。
free -m 用來檢視系統的記憶體
#!/bin/bash
mem=`free -m | grep buffers/|awk -f " "
''` ##系統剩餘記憶體
if[[ mem > 100 ]]
then
echo "the buffers are $mem"
else
echo "warning" |mail -s "jingbao"
##當系統剩餘記憶體小於100時,傳送標題為jingbao的郵件
之後執行crontab
*/3 * * * * /bin
/bash /root
/panduan.sh >/dev
/null
sed命令
sed實際上並不修改現有檔案。與 grep 一樣 , sed 通常在管道中使用
-n :使用安靜(silent)模式。在一般 sed 的用法中,所有來自 stdin 的資料一般都會被列出到終端上。但如果加上 -n 引數後,則只有經過sed 特殊處理的那一行(或者動作)才會被列出來。
-e :直接在命令列模式上進行 sed 的動作編輯;
-f :直接將 sed 的動作寫在乙個檔案內, -f filename 則可以執行 filename 內的 sed 動作;
-r :sed 的動作支援的是延伸型正規表示法的語法。(預設是基礎正規表示法語法)
-i :直接修改讀取的檔案內容,而不是輸出到終端。
function:
a :新增, a 的後面可以接字串,而這些字串會在新的一行出現(目前的下一行)~
c :取代, c 的後面可以接字串,這些字串可以取代 n1,n2 之間的行!
d :刪除,因為是刪除啊,所以 d 後面通常不接任何咚咚;
i :插入, i 的後面可以接字串,而這些字串會在新的一行出現(目前的上一行);
p :列印,亦即將某個選擇的資料印出。通常 p 會與引數 sed -n 一起執行~
s :取代,可以直接進行取代的工作哩!通常這個 s 的動作可以搭配正規表示法!例如 1,20s/old/new/g 就是啦!
ex:
1.以行為單位的新增/刪除
刪除passwd中的第10到15行
[root@foundation62 test]# nl passwd | sed '10,15d'
##nl表示顯示行號
2.在第二行後(亦即是加在第三行)加上『drink tea?』字樣!
[root@desk test]# cat passwd | sed -e '3i/drink tea?/'
[root@desk test]# cat passwd | sed -e '2a/drink tea?/'
資料的搜尋並替換
除了整行的處理模式之外, sed 還可以用行為單位進行部分資料的搜尋並取代。基本上 sed 的搜尋與替代的與 vi 相當的類似!他有點像這樣:
sed 's/要被取代的字串/新的字串/g'
過濾掉字母後的長度等於num本身的長度,則這個num為純數字
利用expr 命令的返回值不同,可以得到不同的判斷結果
使用sed命令自動生成insert語句
要從檔案中插入一批資料到mongodb中,檔案裡的資料長這樣,分隔符為tab鍵,生成的語句如下,我沒有寫成指令碼,直接用命令處理的,所以分好幾次。db.world.insert afghanistan asia 652230 25500100 20343000000 albania europe 2...
if條件語句
python 的分支結構由 if 語句來操刀實現。if 語句總共有 5 鐘語法結構,其中前 4 種是比較常見的,而最後 1 種是比較炫酷的操作。1.第 1 種是判斷乙個條件,如果這個條件成立,就執行其包含的某條語句或某個 塊。語法結構如下 if 條件 某條語句或某個 塊2.第 2 種同樣是判斷乙個條...
if條件語句
python 嚴格區分縮排 最高端別靠近最左邊 tab鍵 下一級 tab鍵 tab鍵 下兩級 if 表示式 條件成立執行的 else 條件不成立執行的 age int input 請輸入你的年齡 if age 18 字串和數值之間不能用 print good else print 歡迎光臨 if 表...