一、linux
#!/bin/sh #name : test linux shell # 標準輸入,獲取從鍵盤輸入的數據 read name # 判斷是否爲空還能夠使用 -z $name 若是成立則空 # -s $name 判斷不爲空 if [ "$name" ="" ] then echo "name is null " else echo "name value is $name" fi
二、
shell
# 判斷獲取的數值的大小 #!/bin/sh #name : test linux shell read name if [ "$name" -le 6 ] then echo "value $name less than 6 " else echo "value $name greater than 6 " fi
三、
less
# 檢測 grep 結果,判斷這個要找的是否在結果中 #!/bin/sh #name : test linux shell if grep 'linux' Tlinux.sh > /dev/null 2>&1 then echo " linux in tlinux.sh " else echo " linux not in tlinux l.sh " fi
四、
命令行
# 文件的拷貝判斷 #!/bin/sh #name : test linux shell if cp tests tests12.sh >/dev/null then echo "good copy" else echo " `basename $0`: erroe " fi
*************************/dev/null *******************
日誌
能夠把/dev/null看做一個"黑洞",它很是等價於一個只寫文件,全部寫入它的內容都會永遠丟失。code
而嘗試從它那兒讀取內容則什麼也讀不到然而, /dev/null對命令行和腳本都很是的有用。進程
一、禁止標準輸出class
cat $filename >/dev/null
# 文件內容丟失,而不會輸出到標準輸出.test
二、禁止標準錯誤file
rm $badname 2>/dev/null
# 這樣錯誤信息[標準錯誤]就被丟到太平洋去了.
三、禁止標準輸出和標準錯誤的輸出.
cat $filename 2>/dev/null >/dev/null
四、清除日誌文件內容
cat /dev/null > /var/log/messages
# : > /var/log/messages 有一樣的效果, 但不會產生新的進程.(由於:是內建的)
********************* 2>&1 **********************
這兒命令是由三部分組成的,2 、>& 、1 這三部分組成,其中的1,2,以及之後會看到的 0 表示的是他們的輸出輸入方式,其中0 表示標準輸入, 1 標準輸出 、2 、表示標準錯誤輸出 而 >& 表示把符號左邊的內容以符號右邊的形式輸出