echo 命令 和 转义字符
本文中所有标点符号均为英文状态下输出,好像是博客显示问题显示的都是中文标点。已经向客服提出等待修复。
echo命令用于在终端设备上输出字符串或变量提取后的值
今天玩的转义字符是《linux就该这么学》里面老刘讲的四个最常用的
先玩一下 双引号 和 反引号
“” 双引号 保留所有变量属性不做转移处理
`` 反引号 显示执行命令的结果 (输入法在英文模式下 Esc 下方的键)
例如要显示下方的字样
today is 日期
例1
[root@linuxprobe /]# echo "today is `date`"
today is Sat May 18 17:34:35 CST 2019
[root@linuxprobe /]# echo today is `date`
today is Sat May 18 17:34:49 CST 2019
双引号有时候可以省略,不过字符中间有空格最好加上双引号
下面的情况就出乎意料
例二
[root@linuxprobe /]# echo 2 * 2 = 4 // * 星号包罗万象,直接显示出了根目录下所有文件夹
2 \ bin boot dd dev etc home lib lib64 media mnt opt proc root run sbin srv sys tar tmp usr var 2 = 4
[root@linuxprobe /]# echo "2 * 2 = 4"
2 * 2 = 4
再来玩玩单引号和反斜杠
‘’ 单引号 转义所有变量为字符串
\ 反斜杠 转义其后的单个变量为字符串
首先声明 单引号 中间不能出现单独的单引号
用实例说明一下吧
例三
[root@linuxprobe /]# PRICE=5
[root@linuxprobe /]# echo 'Apple's price is $PRICE'
> what?
> why?
> '
Apples price is 5
what?
why?
[root@linuxprobe /]# echo 'Apple\'s price is $PRICE'
> '
Apple\s price is 5
在本例中第一个单引号与第二个单引号默认组为一对,而第三个单引号落单就会出现这种情况。解决方法要不再给它一个单引号回车,要不就ctr + c。这种情况 \ ( 反斜杠)不起作用。
正确的显示上例的方法如下
例四
[root@linuxprobe /]# echo "Apple's price is $PRICE"
Apple's price is 5
怎么显示其单位呢? \ ( 反斜杠)就要出场了
例五
[root@linuxprobe /]# echo "Apple's price is \$$PRICE"
Apple's price is $5 //其中 \ ( 反斜杠)将第一个$转义
技术不好见识少,以后见到了别的情况再补充吧!