shell基礎

shell簡介:

  1. 腳本是一種解釋型語言
  2. 用shell腳本保存執行動作
  3. 用腳本判定命令的執行條件

&& 和 || 符號 :

&&用來執行條件成立後的文件、||用來執行條件不成立後的文件

例如:

ping -c1 -w1 192.168.118.1 &> /dev/null && echo this is up || echo this is down         

//如果前面的執行正常,則輸出this is up ;否則輸出this is down

其中:     -c代表次數,-w代表等待時間

接下來是一些基礎命令等:

cut    剪切

cut -c  指定截取的位置

     -d   指定分隔符

     -f    指定截取的列

sh -x test.sh      檢測腳本

sort        命令多用於字符排序:
sort -n   純數字排序;跟的是文件名
sort -r    倒序
sort -u   去掉重複數字
sort -o   輸出到指定文件中
sort -t    指定分隔符
sort -k   指定要排序的列

uniq       命令對重複字符做相應的處理
uniq -u  顯示唯一的行
uniq -d  顯示重複的行
uniq -c  每行顯示一次並統計重複次數

sort和uniq命令經常一起使用:

test “A” ==“A” == “B” 等同 [ “A”==“A”==“B” ] 
[ “A” =“A” = “B” ]等於 
[ “A” !=“A”!=“B” ]不等於 
[ “A” -eq “A”-eq“B” ] 等於 
[ “A” -ne “A”-ne“B” ] 不等於 
[ “A” -le “A”-le“B” ] 小於等於 
[ “A” -lt “A”-lt“B” ] 小於 
[ “A” -ge “A”-ge“B” ] 大於等於 
[ “A” -gt “A” -gt “B” ] 大於 
[ “A” -ne “A” -ne “B” -a “A”-gt “A”-gt “B” ] ne表示不等於,a表示and都滿足 
[ “A” -ne “A”-ne “B” -o “A” -gt “A” -gt “B” ] o表示or至少滿足一個 
[ -z “A”]表示值爲空

[−n “A” ] 表示值不爲空 
[ “file1” -ef “file2” ] ef 表示節點是否相同 
[ “file1” -nt “file2” ] 表示new,file1是否比file2文件新 
[ “file1” -ot “file2” ] 表示old,file1是否比file2文件老  
[-e “file”] 文件是否存在 
[-f “file”] 文件是否爲普通文件 
[-L “file”] 文件是否爲符號鏈接 
[-S “file”] 文件是否爲套接字 
[-b “file”] 文件是否爲塊設備 
[-d “file”] 文件是否爲目錄 
[-c “file”] 文件是否爲特殊文件

例題:

vim   ip_check.sh              ## 判斷腳本後跟的ip對應主機是否存活
#!/bin/bash
[ -z "$1" ] &&{                    ##不存在則執行下面的命令
        echo please give me a ipaddress!!
        exit 1
}
ping -c1 -w1 $1 &>  /dev/null  &&{
        echo "$1 is up"
}||{
        echo "$1 is down"
}   

例題:

vim number.sh                        //輸入數字判斷是否在1~10的範圍內

#!/bin/bash
[ -z "$1" ]&&{   ##$1表示輸入的數字
        echo please input a number after scripts!!
        exit 1
}
[ "$1" -gt "0"  -a "$1" -le  "10" ]&& {                                ##表示$1大於0並且小於等於10
        echo  "$1" is between 1~10
}||{
        echo "$1" is not between 1~10
}

例題:判斷文件是否存在及文件的類型,

vim file.sh

#!/bin/bash
[ -z "$1" ]&& {
        echo "please input a filename after scripts!!"
        exit 1
}
[ -e "$1" ]||{
        echo "$1 is not exist!!"
        exit 0
}
[ -L "$1" ]&&{
        echo "$1 is a link"
        exit 0
}
[ -f "$1" ]&&{
        echo "$1 is a common file"
        exit 0
}
[ -b "$1" ]&&{
        echo "$1 is a block file"
}

 

硬件:運算器、控制器、存儲器、輸入設備、輸出設備、

安全協議:是以密碼學爲基礎信息交換協議,其目的是在網絡環境中提供各種安全服務。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章