• shell脚本


    • 变量名和等号之间不能有空格
    • 推荐给所有变量加上花括号,这是个好的编程习惯
    • 字符串可以用单引号,也可以用双引号,也可以不用引号。
    • 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的
    • 单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用。
    • 双引号里可以有变量
    • 双引号里可以出现转义字符
    • 拼接字符串
    your_name="runoob"
    # 使用双引号拼接
    greeting="hello, "$your_name" !"
    greeting_1="hello, ${your_name} !"
    echo $greeting  $greeting_1
    # 使用单引号拼接
    greeting_2='hello, '$your_name' !'
    greeting_3='hello, ${your_name} !'
    echo $greeting_2  $greeting_3
    
    • 获取字符串长度
    string="abcd"
    echo ${#string} #输出 4
    
    • 子串
    string="runoob is a great site"
    echo ${string:1:4} # 输出 unoo
    
    • 查找子串
    string="runoob is a great site"
    echo `expr index "$string" io`  # 输出 4
    
    • 定义数组
    # 在 Shell 中,用括号来表示数组,数组元素用"空格"符号分割开。定义数组的一般形式为:
    
    数组名=(值1 值2 ... 值n)
    
    • 读取数组元素
    ${数组名[下标]}
    
    • 读取数组所有元素
    echo ${array_name[@]}
    
    • 数组元素长度/数组长度
    # 取得数组元素的个数
    length=${#array_name[@]}
    # 或者
    length=${#array_name[*]}
    # 取得数组单个元素的长度
    lengthn=${#array_name[n]}
    
    • 脚本参数
      我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推…… $0为执行的文件名

    • 表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2
    • 完整的表达式要被 ` ` 包含
    • echo使用-e开启转义,\n表示换行
    • 原样输出字符串,不进行转义或取变量(用单引号)
    echo '$name\"'
    $name\" #输出
    
    • if-else结构
    if condition
    then
        command1 
        command2
        ...
        commandN 
    fi # 必须写
    
    if condition1
    then
        command1
    elif condition2 
    then 
        command2
    else
        commandN
    fi # 必须写
    
    • for结构
    for var in item1 item2 ... itemN
    do
        command1
        command2
        ...
        commandN
    done
    
  • 相关阅读:
    java+opencv实现图像灰度化
    java实现高斯平滑
    hdu 3415 单调队列
    POJ 3368 Frequent values 线段树区间合并
    UVA 11795 Mega Man's Mission 状态DP
    UVA 11552 Fewest Flops DP
    UVA 10534 Wavio Sequence DP LIS
    UVA 1424 uvalive 4256 Salesmen 简单DP
    UVA 1099 uvalive 4794 Sharing Chocolate 状态DP
    UVA 1169uvalive 3983 Robotruck 单调队列优化DP
  • 原文地址:https://www.cnblogs.com/ijpq/p/15916834.html
Copyright © 2020-2023  润新知