shell变量的替换,命令的替换,转义字符

1,shell变量的替换

变量可以根据变量是否为空或者被删除,而被替换为特定的值

${var}  变量本来的值

$(var:-word)   如果变量为空,或者已被删除那么返回word,但是不改变var的值

name="xiaoming"

echo "xiaoming ‘s age is ${age:-12}"

ech   "age = ${age}"

>>>>>>>>

xiaoming ‘s age is 12

age =

>>>>>>>

$(var:=word)   如果变量为空,或者已被删除那么返回word,改变var的值

name="xiaoming"

age=11

echo "xiaoming ‘s age is ${age:+12}"

ech   "age = ${age}"

>>>>>>>>

xiaoming ‘s age is 12

age = 12

>>>>>>

$(var:?word)   如果变量为空,或者已被删除那么返回word,那么将message送到标准错误输出

name="xiaoming"

echo "xiaoming ‘s age is ${age:-12}"

ech   "age = ${age}"

>>>>>>>>

./hello.sh: 行 8: age: 12

>>>>>>>

$(var:+word)   如果var被定义,那么返回word,但是不改变var的值

举例

name="xiaoming"

age=11

echo "xiaoming ‘s age is ${age:=12}"

ech   "age = ${age}"

>>>>>>>>

xiaoming ‘s age is 12

age = 11

>>>>>>>

2,命令替换是指shell可以先执行命令保存,然后在适当的地方输出

lll=`ls`  注意这里是反引号,不是单引号
echo ${lll}

3,转义字符

\\    反斜杠

\a   警报 响铃

\b   退格(删除键)

\f   换页

\n   换行

\r   回车

\t   水平制表符

\w   垂直制表符

时间: 2024-11-10 01:36:35

shell变量的替换,命令的替换,转义字符的相关文章

关于shell变量的测试与内容替换

参考资料<鸟哥的私房菜--Linux基础学习篇(第三版)>. 在<鸟哥的私房菜--Linux基础学习篇(第三版)>第11章中,鸟哥关于变量的测试与内容替换中,鸟哥最后用范例说明了变量替换中'-'.'='.'?'三种特殊符号的用法. 看完这些例程,给我最大的感受就是var=${str-newvar}或者var=${str=newvar}或者var=${str?newvar}的变量替换就与C语言中唯一的三目运算符?的用法类似: Max=(x>y)?(x:y).此处我们分析如下:

Linux Shell系列教程之(三)Shell变量

本文是Linux Shell系列教程的第(三)篇,更多shell教程请看:Linux Shell系列教程 Shell作为一种高级的脚本类语言,也是支持自定义变量的.今天就为大家介绍下Shell中的变量相关知识. 为使Shell编程更有效,系统提供了一些Shell变量.Shell变量可以保存诸如路径名.文件名或者一个数字这样的变量名. Shell将其中任何设置都看做文本字符串.有两种变量,本地和环境.严格地说可以有 4种,但其余两种是只读的,可以认为是特殊变量,它用于向Shell脚本传递参数. 定

8.6-8.9 管道符和作业控制、shell变量,环境变量

8.6 管道符和作业控制 管道符"|" 管道符的作用在于将符号前面的结果丢给符号后面的命令.管道符后面并不是所有的命令都可以,一般针对文档操作的命令比较常用,eg:cat.less.head.tail.grep.cut.sort.wc.uniq.tee.tr.split.sed.awk等等. 作业控制 Ctrl+z 暂停一个正在执行的任务 jobs 查看在后台运行的任务 bg[id] =background把任务调到后台运行 fg[id] =foreground把任务调到前台运行 &q

Shell变量替换,命令替换,转义字符

如果表达式中包含特殊字符,Shell 将会进行替换.例如,在双引号中使用变量就是一种替换,转义字符也是一种替换. 举个例子: #!/bin/bash a=10 echo -e "Value of a is $a \n" 运行结果: Value of a is 10 这里 -e 表示对转义字符进行替换.如果不使用 -e 选项,将会原样输出: Value of a is 10\n 下面的转义字符都可以用在 echo 中: 转义字符 含义 \\ 反斜杠 \a 警报,响铃 \b 退格(删除键)

【Shell脚本学习9】Shell替换:Shell变量替换,命令替换,转义字符

如果表达式中包含特殊字符,Shell 将会进行替换.例如,在双引号中使用变量就是一种替换,转义字符也是一种替换. 举个例子: #!/bin/bash a=10 echo -e "Value of a is $a \n" 运行结果: Value of a is 10 这里 -e 表示对转义字符进行替换.如果不使用 -e 选项,将会原样输出: Value of a is 10\n 下面的转义字符都可以用在 echo 中: 转义字符 含义 \\ 反斜杠 \a 警报,响铃 \b 退格(删除键)

Linux之变量引用与命令替换

在bash脚本编写中,我们时常需要引用变量与替换命令,为规范操作,现对其做简单的总结说明. 引用 引用就是指将字符串用引用符号括起来,以防止特殊字符被shell脚本解释为其他意义.引用时屏蔽特殊字符的特殊意义,而将其解释为字面意义. 引用符.名称.意义说明表 引用符 名称 意义说明 '' 单引号 称全引用或弱引用,引用所有的字符:单引号中字符除单引号本身之外都解释为字面意义,单引号不具备引用变量的功能..单引号用于保持引号内所有字符的字面值,即使引号内的\和回车也不例外. "" 双引号

shell变量的替换

1 shell变量基础shell变量是一种很“弱”的变量,默认情况下,一个变量保存一个串,shell不关心这个串是什么含义.所以若要进行数学运算,必须使用一些命令例如let.declare.expr.双括号等.shell变量可分为两类:局部变量和环境变量.局部变量只在创建它们的shell中可用.而环境变量则可以在创建它们的shell及其派生出来的任意子进程中使用.有些变量是用户创建的,其他的则是专用shell变量.变量名必须以字母或下划线字符开头.其余的字符可以是字母.数字(0~9)或下划线字符

在shell中使用sed命令替换/为\/

sed命令相关: https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856901.html https://www.cnblogs.com/DragonFire/p/6600121.html 这里我们要做的功能是: 输入一个目录"/data/data8" 在shell中将其变换为"\/data\/data8" (这是为了能在shell后边的sed命令中直接使用) 先来看看直接使用命令如何实现: echo &q

[转]shell 变量替换

转自:http://blog.csdn.net/xuhongning/article/details/6191515 1,参数替换: 不含有“:”的,只要定义了,就生效,不管是否为空 含有“:”的,即使定义了,但是为空就不生效 用来替换的内容可以是字符串.一个变量.命令的输出 被替换的内容是变量,如$a.$1等 1)默认值替换,如果变量$var没有定义,则整体值为default字符串,但var变量本身并没有被设置: ${var-default}                    如果var定