shell 各种if判断

--主文档响应时间
awk -F , '{ if($7~/^(http\:\/\/7se.8o2.tx34.cc).+jsp$/) {sub(/ms/,"",$6); SUM+=$6;cnt++;} } END  {print SUM/cnt }' stat_browsercloud_page_digest.log.2017-09-12

--所有资源平均响应时间
awk -F , '{ if($7~/^(http\:\/\/wgtj.gaotongpay.com).+$/) {sub(/ms/,"",$6); SUM+=$6;cnt++;} } END  {print SUM/cnt }' stat_browsercloud_page_digest.log.2017-09-11


--主文档响应时间
awk -F , '{ if($7~/^(http\:\/\/www.76588.com).+htm$/) {sub(/ms/,"",$6); if($6>2) SUM+=$6;cnt++;} } END  {print SUM/cnt }' stat_browsercloud_page_digest.log.2017-09-12

--所有资源平均响应时间
awk -F , '{ if($7~/^(http\:\/\/wap.jjwxc.com\/book2).+$/) {sub(/ms/,"",$6); SUM+=$6;cnt++;} } END  {print SUM/cnt }' stat_browsercloud_page_digest.log.2017-09-11

--排序
awk -F / '{print $3}' abc.txt |sort -r|uniq -c|awk '{print $1"\t",$2}'

 

字符串判空

if [ -z "${APP_IDC}" ]; then
    echo "var[APP_IDC] is null, exit..."
    exit 1
fi

文件是否存在判断

if [ ! -f ${tools_dir}/setenv.sh ];then
    echo "no setenv.sh, exit..."
    exit 1
fi

目录是否存在

if [ ! -d ${logs_dir} ];then
    mkdir -p ${logs_dir}
fi

定位目录

cur_dir=$(pwd)
file_path=$(echo "${cur_dir}/$0"|sed 's#\.\/##g')
tools_dir=$(dirname ${file_path})

 

参数含义:

1、$0获取到的是脚本路径以及脚本名,

后面按顺序获取参数,当参数超过10个时(包括10个),需要使用${10},${11}....才能获取到参数

 

2、shell中的case,when的语法

# See how we were called.
case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        start
        ;;
    status)
        status
        ;;
    *)
        echo $"Usage: $0 {start|stop|restart|status}"
        exit 2
esac

exit $?

3、$?最后运行的命令的结束代码(返回值)

$# 是传给脚本的参数个数
$0 是脚本本身的名字
$1是传递给该shell脚本的第一个参数
$2是传递给该shell脚本的第二个参数
$@ 是传给脚本的所有参数的列表

$?最后运行的命令的结束代码(返回值)

 

 

 

 

 

 

 

 

 

 

 

 

 


 

你可能感兴趣的:(java)