• shell学习笔记1: shell 中的变量与常见符号使用方法


    变量

    声明即用

    a=2
    b="123"
    

    调用
    ${varName}或者 $varName

    echo $b
    echo ${a}
    

    常见变量

    • $?:判断上一个语句是否成功
    • $0:执行脚本文件名称
    • $1:第1个参数
    • $n:第n个参数
    • $*:参数分别是什么
    • $#:参数个数

    示例

    demo1.sh

    echo "脚本文件名称:$0"
    echo "第1个参数:$1"
    echo "所有的参数:$*"
    echo "参数个数:$#"
    

    赋予执行权限

    chmod u+x demo1.sh
    

    执行

    ./demo1.sh param2 1 2 3
    

    输出结果

    脚本文件名称:./demo1.sh
    第1个参数:param2
    所有的参数:param2 1 2 3
    参数个数:4
    

    符号

    常见符号

    > :向目标文件写入内容

    • 会覆盖掉原来的内容

    • 例子:向文件1.txt写入hello world字符串

        # 直接在bash中可运行
        echo hello world > 1.txt 
      

    >> :向目标文件尾部插入内容

    • 在源文件尾部追加内容

    • 例子:向文件1.txt增加一行hello world字符串

        # 直接在bash中可运行
        echo hello world >> 1.txt 
      

    ; :执行多条指令

    • 例子:追加一行内容,然后显示文件当前的内容

        # 直接在bash中可运行
        echo hello world >> 1.txt ; cat 1.txt
      

    | :管道符

    • 将上一条命令的处理结果传给下一个命令处理
    • 例子:将cat结果传给wc命令统计行数
        # 直接在bash中可运行
        # 最后一个字母为小写的L
        cat 1.txt | wc -l
      

    && :执行多条命令

    • 前一条命令出错,会阻塞后续命令执行
    • 例子:向1.txt追加一行内容 再查看其行数
        # 直接在bash中可运行
        echo str >> 1.txt && wc -l 1.txt
      

    || :执行多条命令

    • 前一条命令出错才会执行后续指令
    • 例子:向1.txt追加一行内容出错 ,再查看其内容
        # 直接在bash中可运行
        echo3 str >> 1.txt || cat 1.txt 
      

    "" :能够输出变量值

    • 能够解析字符串中的 $varName 变量

    • 例子:输出hello

      # 编写demo3.sh
      
        a="hello"
        echo "$a" 
      

    '' :不能够输出变量值

    • 不够解析字符串中的 $varName 变量

    • 例子:不能输出hello

      # 编写demo3.sh
      
        a="hello"
        echo '$a' 
      

      输出结果为:$a

    `` :输出命令结果

    • 例子:输出当前的日期

    • date命令可获取当前日期

      echo `date`
      

    2>/dev/null :错误输出到无底洞

    • 命令执行错误则不会出现错误提示

    • 执行正确才会有输出结果

    • 例子

      # 执行
      echo1 123
      # 正常错误输出
      bash: echo1: 未找到命令
      # 使用无底洞
      echo1 123 2>/dev/null
      # 没有任何内容输出
      

    1>/dev/null :正确输出到无底洞

    • 命令执行正确则不显示执行结果

    • 执行错误才会有错误提示内容

    • 例子

      # 执行
      echo 123
      # 正常输出
      123
      # 使用无底洞
      echo 123 1>/dev/null
      # 没有任何内容输出
      
  • 相关阅读:
    Java Number类
    Java StringBuffer和StringBuilder类
    Java String类
    Java 日期时间
    Java 数组
    Java 方法
    Java正则表达式
    一步步学习SPD2010--第五章节--处理数据视图(6)--使用XSLT
    一步步学习SPD2010--第五章节--处理数据视图(5)--显示和隐藏内容
    一步步学习SPD2010--第五章节--处理数据视图(4)--应用条件格式
  • 原文地址:https://www.cnblogs.com/roseAT/p/12093277.html
Copyright © 2020-2023  润新知