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"
}

 

硬件:运算器、控制器、存储器、输入设备、输出设备、

安全协议:是以密码学为基础信息交换协议,其目的是在网络环境中提供各种安全服务。

 

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