Linux Shell替换:转义字符,命令替换,变量替换
2015-10-07 18:43
507 查看
#######################################################3
echo命令用法:/article/9770123.html
转义字符
如果表达式中存在特殊字符,Shell将会进行替换。例如,在双引号中使用变量就是一种替换,转义字符也是一种替换
#!/bin/bash a=10 echo -e "the number of a is $a \n"
运行结果为:
此处-e选项表示对转义字符进行替换。如果不使用-e选项,将会原样输出:
运行结果为:
常用转义字符:
\\ | 反斜杠 |
\a | 警报,响铃 |
\b | 退格(删除键) |
\f | 换页(FF),将当前位置移到下页开头 |
\n | 换行 |
\r | 回车 |
\t | 水平制表符(tab键) |
\v | 垂直制表符 |
########################################################
命令替换
Shell可以先执行命令,将输出结果暂时保存,在适当的地方输出
语法:
`command`
note that:使用的是反引号,不是单引号(反引号在Esc键上方)
#!/bin/bash DATE=`date` echo "Date is $DATE"
运行结果为:
###################################################
变量替换
变量替换可以根据变量的状态(是否为空 / 是否定义等)来改变它的值
可以使用的变量替换形式:
形式 | 说明 |
${var} | 变量本来的值 |
${var:-word} | 如果变量为空或已被山粗(unset),那么返回word,但不改变var的值 |
${var:=word} | 如果变量为空或已被删除,那么返回word,并将var的值设置为word |
${var:?message} | 如果变量var为空或已被删除(unset),那么将消息message送到标准错误输出,可以用来检测变量var是否可以被正常赋值 若此替换出现再Shell脚本中,那么脚本将停止运行 |
${var:+word} | 如果变量var被定义,那么返回word,但不改变var的值 |
#!/bin/bash echo ${var:-"Variable is not set"} echo "1-Value of var is ${var}" echo ${var:="Variable is not set"} 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 default value"} echo "4-Value of var is ${var}" echo ${var:?"Print this message"} echo "5-Value of var is ${var}"
运行结果为:
相关文章推荐
- 【Shell常用命令二】管道符 通配符
- Linux Shell变量:Shell变量的定义、删除变量、只读变量、变量类型
- adb shell am pm 用法
- 【Shell常用命令一】echo bash alias history 输出重定向 快捷键
- linux shell脚本 位置参数变量,扫描系统中SUID权限,以免系统为被别人开后门。
- Linux Shell中的变量-自定义变量
- Linux Shell中的变量-预定义变量
- Linux Shell中的变量-位置变量
- Linux Shell中的变量-环境变量
- PHP执行shell脚本运行程序不产生core文件
- shell文字过滤程序(十):cut命令
- Powershell 查找用户的主SMTP地址
- PowerShell 调用系统 DLL 中的函数,如何使用返回参数中的值
- shell 下执行mysql 命令
- 快速与MySQL交互,使用XMAPP打开MySQL数据库,并用shell进行与MySQL交互<Window 10>
- 使用Xshell连接Ubuntu
- ksh 格式化输出
- linux shell 管道命令(pipe)使用及与shell重定向区别
- Linux Shell 之 Shell 基本控制结构(一)(if and case)
- PowerShell 脚本在 Studio 中乱码