上一章Linux
shell编程教程请查看:shell循环语句和循环控制
这一章我们开始讨论shell编程中的shell转义或替换。
1、shell替换或转转义字符是什么?当遇到包含一个或多个特殊字符的表达式时,shell执行替换,例如下面的例子中变量的打印值被它的值所代替,同时“\n”被一个新行代替,当不使用-e选项时”\n“作字符串处理并原字符输出。
#!/bin/basha=10
echo -e "Value: $a \n"
下面的转义序列可以在echo命令中使用:
编号 | 转义& 描述 |
1 | \\ 反斜杠 |
2 | \a 警报 |
3 | \b 退格 |
4 | \c 抑制后换行符 |
5 | \f 换页 |
6 | \n 换行 |
7 | \r 回车 |
8 | \t 水平选项卡 |
9 | \v 垂直制表符 |
2、命令转义或替换命令转义是一种机制,通过这种机制shell执行一组给定的命令,然后用它们的输出代替命令。
命令转义是在命令被指定为:` command `,执行命令替换时,请确保使用后引号而不是单引号字符。
命令转义通常用于将命令的输出分配给变量,下面的每个示例都演示了命令转义:
#!/bin/bashDATE=`date`
echo "日期: $DATE"USERS=`who | wc -l`
echo "当前登录用户: $USERS"UP=`date ;
uptime`
echo "正常运行时间: is $UP"
3、变量转义或替换变量替换允许shell程序员根据变量的状态操作变量的值,下表列出了所有可能的转义或替换:
编号 | 形式 & 描述 |
1 | ${var} 替换var的值。 |
2 | ${var:-word} 如果var为null或未设置则用word替换var,var的值不变。 |
3 | ${var:=word} 如果var为null或unset,则将var设置为word的值。 |
4 | ${var:?message} 如果var为null或未设置,则将消息打印为标准错误。这将检查变量是否设置正确。 |
5 | ${var:+word} 如果设置了var则用word替换var,var的值不变。 |
#!/bin/bashecho ${var:-"not set"}
echo "1 - Value: ${var}"echo ${var:="not set"}
echo "2 - Value: ${var}"unset var
echo ${var:+"defalut"}
echo "3 - Value: $var"var="Prefix"
echo ${var:+"default"}
echo "4 - Value: $var"echo ${var:?"message"}
echo "5 - Value: ${var}"
推荐阅读
- Linux shell编程(shell引用机制解读和用法)
- Linux shell编程(shell循环语句和循环控制介绍和用法全解)
- Linux shell编程(shell基本操作符和条件语句介绍和用法)
- Linux shell编程(shell数组定义和操作详解)
- Linux shell编程(shell特殊变量完全介绍和使用教程)
- Linux shell编程(基本shell变量的定义和使用介绍)
- Linux shell编程之(什么是shell(shell脚本介绍及其操作))
- Unix和Linux信号捕获处理介绍及其相关操作教程
- Unix和Linux系统日志介绍和详细操作教程