案例1
检测一个地址是否ping通,并返回提示。
#!/bin/bash
url=$1 //用于接收变量
ping -c2 $url >/dev/null
if [ $? -eq 0 ]; then //注意$? 这个特殊变量的用法。该变量用于查看上一个命令的返回值。
echo "$url is ok" //返回值为0,则没有错误。
else
echo "$url is bad"
fi
结果如下:
案例2
变量子串 之 统计字符数
//统计字符数方法
# test=helloworld
# echo ${#test} // ${#XXX} 用于返回变量的字符数
10
任务:随机给出一句话,echo出其中字符数大于6的单词。
# vim test.sh
#!/bin/bash
text=`echo awfa aoweaei acwc ava,vaoivnava avnroavnaia omp.|tr ',.' ' '`
//首先将逗号句号替换为空格
for word in $text
do
if [ ${#word} -gt 6 ];then
echo $word
fi
done
案例3
变量子串 之 字符截取 cut (切片)
格式1 ${parameter:n} //n :从第几个开始截取
格式2 ${parameter:n:m} //m : 结束前留几个
案例3
变量扩展:给变量设置默认值
格式1:${parameter:-word} //如果parameter没有被赋值或者值为空,则以word为其值
格式2:${parameter:=word} //如果parameter没有被赋值或者值为空,则将word赋予para
格式3:${parameter:?word} //如果parameter没有被赋值或者值为空,则以word为错误输出
格式4:${parameter:+word} //如果parameter没有被赋值或者值为空,则不进行操作,否则 用word替换parameter的值
案例4
变量赋值
交互式