首页 > 系统服务 > 详细

shell脚本--语法篇

时间:2016-08-11 07:28:46      阅读:267      评论:0      收藏:0      [点我收藏+]

条件测试

1、条件测试test或[ ](测试条件是真是假)

例如:字符串比较

#!/bin/bash
read data
test "$data" == "hello" //注意等号两边有空格  或者 [ $data == "hello" ]
echo $? //上一条命令的运行结果,成功为0,失败为1


技术分享


例如:两数比较大小

#!/bin/bash
data=200
[ $data -eq 100 ]
echo $?
[ $data -lt 100 ]
echo $?
[ $data -le 100 ]
echo $?
[ $data -gt 100 ]
echo $?
[ $data -ge 100 ]
echo $?


技术分享


技术分享


技术分享

例如:测试与、非逻辑运算

技术分享

2、if/then/elif/else/fi

#!/bin/bash
read data
if [ "$data" -eq 100 ];then
    echo "100"
elif [ "$data" -eq 200 ];then
    echo "200"
else
    :  //  :为空命令,该命令不做任何事
fi

技术分享


#!/bin/bash
read data
[ "$data" -eq 100 ] && {   //成立执行花括号里面,否则执行括号外

    echo "yes"
    exit 0
}
echo "no"

技术分享


#!/bin/bash
read data
[ "$data" -eq 100 ] || {  //不成立执行花括号里面,否则执行括号外

    echo "yes"
    exit 0
}
echo "no"

技术分享


3、case/esac

#!/bin/bash
read val
case "$val" in
    start | -s | -start | -START )
        echo "start"
        ;;
    ‘stop‘ )
        echo "stop"
        ;;
    ‘*‘ )
        echo "*"
        ;;
esac

技术分享


循环语句

1、for/do/done

写法一:

#!/bin/bash

//for i in {1..100}

for i in {a..z}
do
   echo "$i"
done

运行结果: 打印a...z的字母


写法二:

#!/bin/bash
for(( i=0;i<=100;i++ ))
do
   echo "$i"
done

运行结果: 打印1...100的数字

2、while/do/done  && until/do/done

技术分享


技术分享


求1~100 间的偶数的和

#!/bin/bash
sum=0
ret=0
for i in {1..100}
do
    let ret=i%2
    if [ $ret -eq 0 ];then
        let sum+=i
    fi
done
echo $sum

运行结果:2550

3、shell脚本的调试方法

shell脚本--语法篇

原文:http://zhangxinbei.blog.51cto.com/10918184/1836720

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!