美文网首页
shell 脚本使用记录

shell 脚本使用记录

作者: 7cf6c01a5633 | 来源:发表于2019-03-04 10:14 被阅读0次
    1. 回显关闭显示
    stty -echo :关闭回显
    stty echo  :开启回显
    
    1. 字体颜色
    #!/bin/bash
    #
    #下面是字体输出颜色及终端格式控制
    #字体色30-37
    echo -e "\033[30m黑色字\033[0m"
    echo -e "\033[31m红色字\033[0m"
    echo -e "\033[32m绿色字\033[0m"
    echo -e "\033[33m黄色字\033[0m"
    echo -e "\033[34m蓝色字\033[0m"
    echo -e "\033[35m紫色字\033[0m"
    echo -e "\033[36m天蓝字\033[0m"
    echo -e "\033[37m白色字\033[0m"
    
    #字背景颜色范围:40-47
    echo -e "\033[40;37m黑底白字\033[0m"
    echo -e "\033[41;30m红底黑字\033[0m"
    echo -e "\033[42;34m绿底蓝字\033[0m"
    echo -e "\033[43;34m黄底蓝字\033[0m"
    echo -e "\033[44;30m蓝底黑字\033[0m"
    echo -e "\033[45;30m紫底黑字\033[0m"
    echo -e "\033[46;30m天蓝底黑字\033[0m"
    echo -e "\033[47;34m白底蓝字\033[0m"
    #.....
    
    #控制选项说明
    #\033[0m关闭所有属性
    #\033[1m设置高亮度
    #\033[4m下划线
    echo -e "\033[4;31m下划线红字\033[0m"
    #闪烁
    echo -e "\033[5;34m红字在闪烁\033[0m"
    #反影
    echo -e "\033[8m消隐\033[0m "
    #
    
    #\033[30m-\033[37m设置前景色
    #\033[40m-\033[47m设置背景色
    #\033[nA光标上移n行
    #\033[nB光标下移n行
    echo -e "\033[4A光标上移4行\033[0m"
    
    #\033[nC光标右移n行
    #\033[nD光标左移n行
    #\033[y;xH设置光标位置
    #\033[2J清屏
    #\033[K清除从光标到行尾的内容
    echo -e "\033[K清除光标到行尾的内容\033[0m"
    
    #\033[s保存光标位置
    #\033[u恢复光标位置
    #\033[?25|隐藏光标
    #\033[?25h显示光标
    echo -e "\033[?25l隐藏光标\033[0m"
    echo -e "\033[?25h显示光标\033[0m"
    
    #下面的这个例子是字体不停的闪烁。
    #!/bin/bash
    #
    a=30
    b=41
    while true
    do
    echo -e "\033[${a}m光辉女郎\033[0m"
    echo -e "\033[${a}m的吗西亚\033[0m"
    echo -e "\033[${a}m洛克萨斯\033[0m"
    a=$(($(($a%7))+30))
    b=$(($(($b%7))+40))
    #每次让字体颜色在30-37转换
    #每次让背景颜色在40-47转换
    echo -e "\033[4A\033[0m"
    done
    
    1. 暂停
    sleep 1
    
    1. map的使用
    declare -A map=(
            [name]="张三"
            [age]=13
        )
    echo keys = ${!map[@]} # 打印key数组
    echo keys = ${map[@]}  # 打印value数组
    
    1. 续行 换行
    apt-get install -y  xxxx \
                        xxxxx \
                        xxxxx
    
    echo -e "\r\n"
    
    如果输出的内容带换行
    
    1. 文件写入
    echo abc > a.txt # 写入文件
    echo def >> a.txt # 追加到文件
    
    : > a.txt  # 清空文件  : 这个是占位符
    
    1. 出错处理
    if [ "$?" -ne 0 ]; then exit 8; fi # 如果上一个命令出错,则退出
    
    1. 获取命令执行的结果
    releaseZip=`ls *.zip`
    
    1. 判断变量是否为空
    if [ ! $para1 ]; then
    #if [ ! $para1 ]; then  这个也可以
    #if [ "$dmin" = "" ]    判断变量是否为空
        echo "IS NULL"
    fi
    
    1. 从终端读取输入
    read 变量名 # 不需要定义
    echo $变量名  # 输出内容
    
    # 字符串拼接
    your_name="qinjx"
    greeting="hello, "$your_name" !"
    greeting_1="hello, ${your_name} !"
    
    echo $greeting $greeting_1
    
    1. 字符串
    str='this is a string'  # 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的
    str="Hello, I know your are \"$your_name\"! \n" # 双引号里可以有变量
    
    string="abcd"
    echo ${#string} # 字符串长度
    
    1. 循环
    # 无限循环
    while :
    do
        command
    done
    
    while true
    do
        command
    done
    
    for (( ; ; ))
    
    

    相关文章

      网友评论

          本文标题:shell 脚本使用记录

          本文链接:https://www.haomeiwen.com/subject/lgkquqtx.html