shell之引用

shell可以识别四种引用字符,单引号',双引号",反斜杠\和反引号`

单引号->忽略所有特殊字符

shell会忽略单引号内的所有特殊字符
例如

echo one     two   three
echo 'one     two   three'
file=/usr/bin/python
echo '$file'
echo $file

双引号->忽略大部分特殊字符

shell会忽略双引号内的大部分特殊字符,但是会保留美元字符$反引号`反斜杠\
例如

filelist=*
echo $filelist
echo '$filelist'
echo "$filelist"
echo $(pwd)
echo '$(pwd)'
echo "$(pwd)"

反斜杠\->转义和续行

反斜杠会对紧跟其后的字符进行转义,该字符的所有特殊含义都会被移除。

echo >
echo \>
echo "$(pwd)"
echo "\$(pwd)"

如果输入行的最后一个字符为反斜杠,shell会将其作为一个续行符

echo This is \
    shell.
echo 'This is \
    shell.'
echo "This is \
    shell."

反引号或$(...)->命令替换

旧的UINX系统中使用反引号进行命令替换

echo "The date and time is `date`"

新的shell标准都采用了一种更加可取的命令替换方法$(...)

echo "The date and time is $(date)."
echo "You have $(ls | wc -l) files in your directory."
posted @ 2020-04-17 19:03  骏腾  阅读(357)  评论(0编辑  收藏  举报