zoukankan      html  css  js  c++  java
  • shell编程(一)--常用变量及表达式

    $? 表示执行上一个命令的返回值:如果为0表示执行成功,非0表示执行失败
    $1、$2、。。。 分别表示参数1、参数2、。。。
    $# 表示这个程序的参数个数
    $*/$@ 表示这个程序的所有参数
    $$ 表示这个程序的PID
    $! 表示执行上一个后台命令的PID
    $_ 表示这个变量保存之前执行的命令的最后一个参数的值

    执行脚本时加-x可以显示脚本的执行过程
    如 sh -x stats.rd.task.sh

    不执行脚本,只是检查语法的模式,将返回所有语法错误
    如 sh -n stats.rd.task.sh

    命令替换符``

    case结构与C/C++中的switch结构是相同的. 它允许通过判断来选择代码块中多条路
    径中的一条. 它的作用和多个if/then/else语句的作用相同, 是它们的简化结构, 特别适用于创
    建菜单.
    case "$variable" in
    $condition1" )
    TT class="REPLACEABLE" >command...
    ;
    $condition2" )
    TT class="REPLACEABLE" >command...
    ;
    esac
    1、对变量使用""并不是强制的, 因为不会发生单词分割
    2、每句测试行, 都以右小括号)来结尾
    3、每个条件判断语句块都以一对分号结尾;
    4、case块以esac (case的反向拼写)结尾

    expr
    通用求值表达式: 通过给定的操作(参数必须以空格分开)连接参数, 并对参数求值. 可以是算术操作, 比较操作, 字符串操作或者是逻辑操作.
    expr 3 + 5
    #返回8
    y=`expr $y + 1`
    增加变量的值, 与let y=y+1和y=$(($y+1))的效果相同. 这是使用算术表达式的一个例子.
    z=`expr substr $string $position $length`
    在位置$position上提取$length长度的子串.

    while
    这种结构在循环的开头判断条件是否满足, 如果条件一直满足, 那么就一直循环下去 (返回0作为退出状态码). 与for循环的区别是, while循环更适合在循环次数未知的情况下使用.
    while [ "$var0" -lt "$LIMIT" ]
    do
    echo -n "$var0 " # -n 将会阻止产生新行.
    # ^ 空格, 数字之间的分隔.

    var0=`expr $var0 + 1` # var0=$(($var0+1)) 也可以.
    # var0=$((var0 + 1)) 也可以.
    # let "var0 += 1" 也可以.
    done # 使用其他的方法也行.

    2>&1
    将错误消息的输出(2), 发送到与标准输出($1)所指向的地方.

    /dev/null
    把/dev/null看作"黑洞". 它非常等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到. 然而, /dev/null对命令行和脚本都非常的有用.
    cat $filename >/dev/null
    # 文件内容丢失,而不会输出到标准输出.
    rm $badname 2>/dev/null
    # 这样错误信息[标准错误]就被丢到太平洋去了

  • 相关阅读:
    60款很酷的 jQuery 幻灯片演示和下载
    分享27款非常棒的 jQuery 表单插件
    10款新鲜出炉的 jQuery 插件
    5 个很炫的 HTML5 游戏
    12款高质量的免费 HTML 网页模板下载
    jquery插件整理篇(四)自动补全类插件
    jquery插件整理篇(三)图片展示插件
    超强1000个jquery插件!
    34个漂亮的应用程序后台管理系统界面(系列二)
    jquery插件整理篇(九)数据验证类
  • 原文地址:https://www.cnblogs.com/atai/p/5989427.html
Copyright © 2011-2022 走看看