• shell小笔记


    echo $@
    echo $*
    echo aaa="${USER}"
    echo bbb='${USER}'
    echo ccc="$USER"
    echo $((1+2))
    CMD=(10,20,)
    CMD+=1
    echo "${CMD}"
    echo "$(printf ${CMD[@]})"
    echo "$((${#CMD[@]}+1))"
    echo '${CMD}'
    echo `date`
    
    while read FILM
    do
    echo "Yeah! great film the $FILM"
    done
    
    

    特殊变量

    • $@:传递给函数/脚本的所有参数;
    • $*:传递给函数/脚本的所有参数,与上面不同的是,如果用“”扩起来参数,该符号不会split开;
    • $#:统计所有参数的长度;
    • $n:获取第n个参数,当n大于10时,需使用${n};
    • $?:获取上个命令的输出结果,一般获取函数return的结果;

    文件检测运算符

    • -d:是否为目录;
    • -r:是否可读;
    • -w:是否可写;
    • -x:是否可执行;
    • -e:是否存在;
    • -s:是否文件内容为空;

    特殊符号

    • -o:或;
    • -a:与;
    • -z:字符串长度是否为0;
    • -n:字符串长度是否不为0;

    语法注解

    ${String/Array: Findex :Lindex} :根据下标范围获取部分字符/数组;

    set -uexo pipefail

    • u:不存在变量报错退出;
    • x:命令执行详细输出,debug专用;
    • e:发生错误,停止执行,管道无用, set +e 可关闭该功能,可在代码段前后设置,跳过该功能;
    • o pipefail:管道中命令失败报错退出;

    unset :删除函数和变量

    &0/1/2

    • 0: 标准输入;
    • 1: 标准输出;
    • 2: err输出。
  • 相关阅读:
    while循环
    No.四
    No. three
    第二章吧
    第二次写博客
    我人生的第一个程序,相当于哥伦布发现新大路。
    orale命令6 rman备份
    oracle 命令4 热备份
    oracle命令3 冷备份
    oracle命令2 和一致性关闭、非一致性关闭
  • 原文地址:https://www.cnblogs.com/cxw296052618/p/13646500.html
Copyright © 2020-2023  润新知