shell中的替换
shell中如果存在一些特殊的字符,就需要进行替换,可进行命令替换、变量替换、转义替换
1、转义字符的替换
shell中包含以下的转移字符
\a 响铃警报\\ 反斜杠
\b 退格(删除键)
\f 换页(FF),将当前位置移到下页开头
\n 换行
\r 回车
\t 水平制表符
\v 垂直制表符
以上转移字符都可以使用在echo中,通过使用-e 完成转义字符的替换,否者会原样输出,也可通过-E 禁止转移,通过-n可以禁止插入换行符
2、命令替换
如下声明将命令date赋值给DATE,注意这里的命令必须通过反括号扩住,而不是单引号
1 kk@kk-pc ~/shell 2 $ DATE=`date` 3 4 kk@kk-pc ~/shell 5 $ echo $DATE 6 2015年07月 6日, 周一 13:07:47
3、变量替换
变量替换时根据是否为空,是否定义进行的,并可以改变变量的值
变量的替换形式:
形式 | 说明 |
${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的值 |
后记:无