zoukankan      html  css  js  c++  java
  • 重新点亮shell————语法[四]

    前言

    简单介绍一下语法。

    正文

    数组:

    定义数组:

    IPTS =(10.0.0.1 10.0.0.2 10.0.0.3)

    显示所以数组元素:

    echo ${IPTS[@]}

    显示数组元素的个数

    echo ${#IPTS[@]}

    显示第一个元素:

    echo ${IPTS[0]}

    转义和引用:

    特殊字符:

    注释

    ; 分号 分割两行命令

    \ 转义字符

    "' 引号

    转义符合:

    单个字符前的转义符合:

    \n\r\t 单个字母转义

    $ 、"、 \ 单个非字母的转义

    引用符号:

    常用的引用符号:

    "" 双引号
    ' 单引号
    ` 反引号

    单引号和双引号在显示的时候还是不一样的。

    ` 反引号 可以用来执行命令。

    赋值运算符:

    算术运算符:

    +-*/**%

    使用expr 进行运算

    expr 4 + 5 只能支持整数,4和+和5之间要有空格

    数字常量:

    let "变量名=变量值"

    支持8进制和16进制

    双圆括号:
    ((a=10))

    ((a++))

    echo $((10+20))

    if

    if-then 基本用法:

    if [测试条件成立] 或者 命令返回值为0

    then 执行相应的命令

    fi 结束

    同样有了if-then,那么还可以使用if then else 这样的语句。

    if-then-else 语句可以在条件不成立也运行相应的命令。

    格式为:

    if [测试 成立条件]
    then 执行相应命令
    else 测试条件不成立,执行相应命令
    fi 结束

    还可以使用:

    if [测试 成立条件]
    then 执行相应命令
    else if [测试成立条件]
    then 执行相应命令
    else 测试条件不成立,执行相应命令
    fi 结束

    case

    case 值 in
    模式1)
    command1
    command2
    ...
    commandN
    ;;
    模式2)
    command1
    command2
    ...
    commandN
    ;;
    esac

    循环

    for 说明:

    for file in $(ls .gz); do gunzip -c $file > ${file%%.} ;done

    同样可以使用c语言风格的,比如说:

    for ((i=1; i<=10;i++)); do command;done
    

    这样的也可以。

    while 说明:

    while test测试一直成立

    do
    command
    done

    另外一种就是utile,就是和while 相反,while 是一直是真的时候执行,utile一直是假的时候执行。

    util test测试一直成立

    do
    command
    done

    同样循环中有continue和break,和其他语言一样就不介绍了。

    下一节特殊字符。

  • 相关阅读:
    Rockethon 2015
    TopCoder SRM 633div1
    hihocoder 1084 扩展KMP && 2014 北京邀请赛 Justice String
    ZOJ 2563 Long Dominoes(状压DP)
    github源代码地址
    redis 代理
    SqlServer 执行较大脚本时的解决方案
    用NSSM把.Net Core部署至 Windows 服务
    .net core 的优点
    Html.Action、html.ActionLink与Url.Action的区别
  • 原文地址:https://www.cnblogs.com/aoximin/p/15733679.html
Copyright © 2011-2022 走看看