4个常用的转义符
\
跟在它后面的字符,保持原本的样子。比如\$SHELL
\\
' '
单引号中的字符,原样输出。 比如'$SHELL abc \n \\ def'
" "
双引号能解析变量,和转义符。 比如"$SHELL abc \n \\ def"
- ` ` 反引号,执行命令,得到命令的执行结果。 echo `head -1 /etc/passwd`
练习:输出 Price is $PRICE ,$PRICE是一个变量,输出时能解析变量的值出来。
PRICE=5
echo "Price is $PRICE"
练习:如果需要输出 Price is $5 呢? (注意:$$ 作用是显示当前程序的进程号)
echo "Price is $$PRICE" // Price is 3767PRICE 看来结果并不是我们所期望的,$$ 变为了进程号
echo "Price is \$$PRICE" // \$ 将这个$ 保持原本的样子
练习:在终端打印 “当前目录中的文件数量为:xx” ?
echo "当前目录中的文件数量为:`ll | wc -l`"
反引号一般常用于 shell 脚本中,不过有一种更好的写法是 : $()
file_count=$(ls | wc -l)
echo "当前目录中的文件数量为:$file_count"
关于双引号的一个小问题,我们先看例子:
echo AA BB CC
echo "AA BB CC"
上面两种的输出都是一致的,那么有什么区别呢?
我们可以想一想第一种和第二种,参数的个数是怎么算的?
其实就是当你要把 AA BB CC 作为一个参数,那么就得加双引号了。