美文网首页
shell替换

shell替换

作者: come_on | 来源:发表于2018-08-28 10:56 被阅读31次

如果表达式中包含特殊字符,shell将会进行替换。例如,前面学习过的变量的使用(在双引号中使用变量)就是一种替换,转义字符也是一种替换
a=10
echo -e "value of a is a \n" echo "value of a isa \n"
发现在mac系统下加不加-e在双引号中都会对变量进行转义替换

命令替换

命令替换的语法是 Command 注意是反引号,不是单引号,这个键位于Esc键下方
命令替换是指shell可以先执行命令,将输出结果暂时保存,在适当的地方输出。

DATE=`date`
echo "Date is $DATE"

USERS=`who|wc -l`
echo "logged in user are$USERS"

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

echo ${var:="variable is not setting"}
echo "2 - value of var is ${var}"

unset var
echo ${var:+"this is default value"}
echo "3 - value of var is ${var}"

var="prefix"
echo ${var:+"this is a default value"}
echo "4 - value of var is ${var}"

echo ${var:?"print this message"}
echo "5 - value of var is ${var}"

上述代码,2、4、5都执行替换成功,1和3并未成功替换,不知为何,有知道的朋友还望不吝赐教,在此谢谢!

相关文章

  • shell替换

    如果表达式中包含特殊字符,shell将会进行替换。例如,前面学习过的变量的使用(在双引号中使用变量)就是一种替换,...

  • Shell替换

    如果表达式中包含特殊字符,Shell 将会进行替换。例如,在双引号中使用变量就是一种替换,转义字符也是一种替换。 ...

  • shell 替换

    转义 转义也是一种替换 运行结果 -e表示对转义符进行替换,如果不用-e,将会原样输出 可以使用 echo 命令的...

  • exec command

    在shell下执行command时,shell fork child进程。 exec command时,替换she...

  • 阿里云 ssh 语法高亮 Ubuntu

    安装zsh 切换shell (如果想切回去可以把zsh 替换成需要的shell名称) 查看登录的shell 列表,...

  • Mac常用命令

    linux shell 字符串操作详解 (长度,读取,替换,截取,连接,对比,删除,位置 )Linux Shell...

  • shell批量替换

  • 4、Shell的条件测试

    shell的条件测试 符号说明()子shell中执行(())数值比较,运算C 语言$()命令替换$(())整数运算...

  • 【技术-0008-Linux shell-sed基础2】

    1.sed基础-替换(续) 在shell中sed还可以指定具体行区间进行替换编辑。指定只替换某一行: 指定替换行与...

  • shell 脚本里文本替换

    shell 脚本里文本替换用 ${parameter/pattern/string} 格式,如果 pattern ...

网友评论

      本文标题:shell替换

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