Shell 编写摘要 (一)

来源:互联网 发布:做外盘用什么软件原油 编辑:程序博客网 时间:2024/06/08 07:39

#PS:要转载请注明出处,本人版权所有

#PS:这个只是 《 我自己 》理解,如果和你的

#原则相冲突,请谅解,勿喷

注释:本文中主要参考《shell脚本学习指南》和自己的理解所写而成

1 Shell 变量问题

算术展开:     $((算术表达式))     返回表达式的值    eg: echo $((1+2*3))     返回7变量替换(主要还是用来测试一个变量是否定义且不为空):    $(varname:-0)   varname未定义或者为null,返回0        用处:用于测试变量是否定义    $(varname:=0)   varname未定义或者为null,给varname赋值0        用处:用于给未定义变量赋初值    $(varname:?msg) varname未定义或者为null,返回msg        用处:用于当变量未定义时,提示一个信息    $(varname:+1) varname定义或者不为null,返回1        用处:用于测试变量已经存在切不为null,返回1位置参数(用于向脚本传入参数):    ${num}    获取传入num'th的值    $#        返回传入参数总的个数    $@        以多个字符串方式返回所有传入参数    $*        以一个字符串方式返回所有传入参数特殊符号:    $? 最近命令执行的返回值,0 表示成功执行,非0 表示有异常

2 Shell 脚本流控制

逻辑运算    test 等效于 [ ...... ]    eg: test "$var" = "$var1" 等效 [ "$var" = "$var1" ]

下面是非常重要的test 选项表
test
test
test

if 控制语句    格式:    if pipeline    then     ......    elif pipeline    then    ......    else    ......    fifor 控制语句(支持continue,break)    格式:    for var [in list]    do    ......    donewhile 控制语句(支持continue,break)    格式:    while condition    do    ......    doneuntil 控制语句(支持continue,break)    格式:    until condition    do    ......    done

3 脚本函数

函数定义(支持return 从函数返回):functionName(){    ........    return val}函数调用(特殊变量$#,$@,$*等特殊位置变量会被临时覆盖):funcitonName arg0 arg1 arg2 ...

#PS:请尊重原创,不喜勿喷

#PS:要转载请注明出处,本人版权所有.

有问题请留言,看到后我会第一时间回复

0 0