码迷,mamicode.com
首页 > 其他好文 > 详细

Bash变量及条件判断使用记录

时间:2015-05-17 02:18:13      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:bash shell if

bash变量类型:

    环境变量

    本地变量(局部变量)

    位置变量

    特殊变量


本地变量:作用域为整个bash进程

VARNAME=VALUE


局部变量:作用域为当前代码段

local VARNAME=VALUE


环境变量:作用域为当前shell进程及其子进程

export VARNAME=VALUE


位置变量:

    $1, $2,...


特殊变量:

    $?:上一个命令状态返回值

    $#:参数的个数

    $*:参数列表

    $@:参数列表

    $0:输出当前执行脚本的文件名


撤销变量:

    unset VARNAME


查看当前shell中所有变量:

    set


查看当前shell中的环境变量:

    printenv

    env

    export



条件判断:

条件测试类型:

    整数比较

    字符测试

    文件测试


条件测试的表达式:

    [ expression ]

    [[ expression ]]

    test expression


整数比较:

    -eq:等于、等值比较

    -ne:不等于、不等值比较

    -gt:大于

    -lt:小于

    -ge:大于或等于

    -le:小于或等于


命令间逻辑关系:

    逻辑与:&&

    逻辑或:||


条件判断,控制结构:

单分支if语句:

    if 判断条件; then

    statement1

    statement2

    ...

fi


双分支if语句:

if 判断条件; then

    statement1

    statement2

    ...

else

    statement3

    statement4

    ...

fi


多分支if语句:

if 判断条件1; then

    statement1

    statement2

    ...

elif 判断条件2; then

    statement3

    ...

elif 判断条件3; then

    statement4

    ...

else

    statement5

    statement6

    ...

fi



字符测试:

    ==:相等

    !=:不相等

    <

    >

    -n string:测试指定字符串是否为不空,不空为真,空则假

    -z string:测试指定字符串是否为空,空为真,不空则假



文件测试:

    -e file:测试文件是否存在

    -f file:测试文件是否为普通文件

    -d file:测试指定路径是否为目录

    -r file:测试当前用户对指定文件是否有读权限

    -w file:测试当前用户对指定文件是否有写权限

    -x file:测试当前用户对指定文件是否有执行权限



组合测试:

    -a:与

    -o:或

    !:非



定义脚本退出状态码:

    exit:退出脚本

    exit #    ——>    退出代码(0-255)

注:如果脚本没有明确定义脚本退出状态码,那么最后执行的一条命令状态码即为脚本的退出状态码。


    bash -n file.sh    ——>    测试脚本是否有语法错误

    bash -x file.sh    ——>    显示执行过程



算术运算:

A=10

B=100

1、let 算术运算表达式

    let C=$A+$B

2、$[算术运算表达式]

    C=$[$A+$B]

3、$((算术运算表达式))

    C=$(($A+$B))

4、expr 算术运算表达式,表达式中操作数及运算符间要有空格,而且要使用命令引用

    C=`expr $A + $B`


Bash变量及条件判断使用记录

标签:bash shell if

原文地址:http://yuyucat.blog.51cto.com/9627004/1651917

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!