美文网首页
shell 替换

shell 替换

作者: 渝潼不肖生 | 来源:发表于2016-10-05 09:53 被阅读0次

    转义

    转义也是一种替换

     #!/bin/bash                      
     echo -e "Hi!\nMy name is lun!"
    

    运行结果

    Hi!
    My name is lun!
    

    -e表示对转义符进行替换,如果不用-e,将会原样输出

    Hi!\nMy name is lun!
    
    转义字符 含义
    \ 反斜杠
    \a 警报,响铃
    \b 退格(删除键)
    \f 换页(FF),将当前位置移到下页开头
    \n 换行
    \r 回车
    \t 水平制表符(tab键)
    \v 垂直制表符

    可以使用 echo 命令的 -E 选项禁止转义,默认也是不转义的;使用 -n 选项可以禁止插入换行符。

    命令替换

    命令替换是指Shell可以先执行命令,将输出结果暂时保存,在适当的地方输出。

    DATE=`date`
    echo ${DATE}
    

    运行结果

    Tue Oct 4 17:57:50 CST 2016
    

    这里的`date`用的是反引号,不是单引号

    变量替换

    变量替换可以根据变量的状态(是否为空、是否定义等)来改变它的值

    可以使用的变量替换形式:

    形式 说明
    ${var} 变量本来的值
    ${var:-word} 如果变量 var 为空或已被删除(unset),那么返回 word,但不改变 var 的值。
    ${var:=word} 如果变量 var 为空或已被删除(unset),那么返回 word,并将 var 的值设置为 word。
    ${var:?message} 如果变量 var 为空或已被删除(unset),那么将消息 message送到标准错误输出, 可以用来检测变量 var是否可以被正常赋值。 若此替换出现在Shell脚本中,那么脚本将停止运行。
    ${var:+word} 如果变量 var 被定义,那么返回 word,但不改变 var 的值。

    例子:

    num=20
    unset num
    echo ${num:-"hehe"}
    

    运行结果

    hehe
    

    相关文章

      网友评论

          本文标题:shell 替换

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