Shell 常用语法规则注意事项

今天用shell 写了一个脚本,中间处理有很多基本语法规则使用,因为不熟练所以记录下来,供参考
Shell 常用注意事项

  • 1.变量的赋值跟取值不要带空格

    byteEcho="64 bytes from"
    testA=0
    testB=$testA
    echo $testB
    
  • 2.数字的累加用let

    total_Count=0
    let total_Count=$total_Count+1 
    
  • 3.数组的创建以及添加元素、遍历用法

    testArray=()
    testArray+=("J")
    testArray+=("L")
    testArray+=("Lily")
    
    for name in ${testArray[@]}
    do 
    echo $name
    done
    
  • 4.字符串的包含关系,用通配符处理即可

    A="helloworld"
    B="low"
    if [[ $A == *$B* ]];
    then
      echo "包含"
    else
      echo "不包含"
    fi
    
  • 5.if的条件判断[]内部的变量要保留空格处理(左右两边都要有空格)

    if [ $ip = "Array" ] 
    
  • 6.判断变量是否存在用!即可

    if [ ! $failArray ]
    
  • 7.shell 输出终端的颜色控制

    输出特效格式控制:
    33[0m 关闭所有属性
    33[1m 设置高亮度
    3[4m 下划线
    33[5m 闪烁
    33[7m 反显
    33[8m 消隐
    33[30m -- 33[37m 设置前景色
    33[40m -- 33[47m 设置背景色

    光标位置等的格式控制:
    33[nA 光标上移n行
    3[nB 光标下移n行
    33[nC 光标右移n行
    33[nD 光标左移n行
    33[y;xH设置光标位置
    33[2J 清屏
    33[K 清除从光标到行尾的内容
    33[s 保存光标位置
    33[u 恢复光标位置
    33[?25l 隐藏光标

    33[?25h 显示光标

    整理:
    编码 颜色/动作
      0 重新设置属性到缺省设置
      1 设置粗体
      2 设置一半亮度(模拟彩色显示器的颜色)
      4 设置下划线(模拟彩色显示器的颜色)
      5 设置闪烁
      7 设置反向图象
      22 设置一般密度
      24 关闭下划线
      25 关闭闪烁
      27 关闭反向图象
      30 设置黑色前景
      31 设置红色前景
      32 设置绿色前景
      33 设置棕色前景
      34 设置蓝色前景
      35 设置紫色前景
      36 设置青色前景
      37 设置白色前景
      38 在缺省的前景颜色上设置下划线
      39 在缺省的前景颜色上关闭下划线
      40 设置黑色背景
      41 设置红色背景
      42 设置绿色背景
      43 设置棕色背景
      44 设置蓝色背景
      45 设置紫色背景
      46 设置青色背景
      47 设置白色背景
      49 设置缺省黑色背景
    特效可以叠加,需要使用“;”隔开,例如:闪烁+下划线+白底色+黑字为 33[5;4;47;30m闪烁+下划线+白底色+黑字为33[0m

#!/bin/bash
#
#下面是字体输出颜色及终端格式控制
#字体色范围:30-37
echo -e "33[30m 黑色字 33[0m"
echo -e "33[31m 红色字 33[0m"
echo -e "33[32m 绿色字 33[0m"
echo -e "33[33m 黄色字 33[0m"
echo -e "33[34m 蓝色字 33[0m"
echo -e "33[35m 紫色字 33[0m"
echo -e "33[36m 天蓝字 33[0m"
echo -e "33[37m 白色字 33[0m"
#字背景颜色范围:40-47
echo -e "33[40;37m 黑底白字 33[0m"
echo -e "33[41;30m 红底黑字 33[0m"
echo -e "33[42;34m 绿底蓝字 33[0m"
echo -e "33[43;34m 黄底蓝字 33[0m"
echo -e "33[44;30m 蓝底黑字 33[0m"
echo -e "33[45;30m 紫底黑字 33[0m"
echo -e "33[46;30m 天蓝底黑字 33[0m"
echo -e "33[47;34m 白底蓝字 33[0m"

#控制选项说明
#33[0m 关闭所有属性
#33[1m 设置高亮度
#33[4m 下划线
echo -e "33[4;31m 下划线红字 33[0m"
#闪烁
echo -e "33[5;34m 红字在闪烁 33[0m"
#反影
echo -e "33[8m 消隐 33[0m "

#33[30m-33[37m 设置前景色
#33[40m-33[47m 设置背景色
#33[nA光标上移n行
#33[nB光标下移n行
echo -e "33[4A 光标上移4行 33[0m"
#33[nC光标右移n行
#33[nD光标左移n行
#33[y;xH设置光标位置
#33[2J清屏
#33[K清除从光标到行尾的内容
echo -e "33[K 清除光标到行尾的内容 33[0m"
#33[s 保存光标位置
#33[u 恢复光标位置
#33[?25| 隐藏光标
#33[?25h 显示光标
echo -e "33[?25l 隐藏光标 33[0m"
echo -e "33[?25h 显示光标 33[0m"
原文地址:https://www.cnblogs.com/xiaoqiangink/p/12503792.html