先放结论:
" " 弱引用,里面的$可以运行,不能识别命令。可以识别变量
?‘ ‘强引用。直接忽略里面的变量 $PATH 直接忽略 ---六亲不认,变量和命令都不识别
,都当成了普通的字符串
可以执行里面的命令 ,全都识别,变量和命令都识别,并且会将单引号的内容当成命令执行,执行后在
调用单引号的进行处理: 讲一个命令的输出给另一个命令调用
$(+command)=command
- "command"--不能识别命令,可以识别变量
lime@ubuntu1804:~$ echo "$PATH"
-bash: echo/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin: No such file or directory
lime@ubuntu1804:~$ echo "hostname"
hostname
- ‘command‘--六亲不认,变量和命令都不识别,都当成了普通的字符串
lime@ubuntu1804:~$ echo ‘$PATH‘
$PATH
lime@ubuntu1804:~$ echo ‘$(date +%F)‘
$(date +%F)
3.command
--变量和命令都识别,并且会将反向单引号的内容当成命令进行执行后,再交给调用反向单引号的
命令继续 =&(command)
[lime@ubuntu1804]:~$ echo "my name is `whoami` "
my name is lime
"[lime@ubuntu1804]:~$ touch hostname
date +%F
.log "
rw-rw-r-- 1 lime lime 0 Feb 6 21:36 ubuntu1804%.log
"[lime@ubuntu1804]:~$ ll $(echo $(date +%F).txt) "
rw-rw-r-- 1 lime lime 1 Feb 6 20:42 2021-02-06.txt
"[lime@ubuntu1804]:~$ ll echo $(date +%F).txt
"
rw-rw-r-- 1 lime lime 1 Feb 6 20:42 2021-02-06.txt
"[lime@ubuntu1804]:~$ ll $(echo date +%F
.txt) "
rw-rw-r-- 1 lime lime 1 Feb 6 20:42 2021-02-06.txt.txt
- {}的使用
lime@ubuntu1804:~$ echo {1,5,10}
1 5 10
lime@ubuntu1804:~$ echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
lime@ubuntu1804:~$ echo {a..Z}
a ` _ ^ ] [ Z
lime@ubuntu1804:~$ echo {Z..a}
Z [ ] ^ _ ` a
lime@ubuntu1804:~$ echo {1..50..5}
1 6 11 16 21 26 31 36 41 46
lime@ubuntu1804:~$ echo file{1..4}.{txt..log}
file1.{txt..log} file2.{txt..log} file3.{txt..log} file4.{txt..log}
- \ 的使用
lime@ubuntu1804:~$ echo lime@ubuntu1804:~$ echo \lime@ubuntu1804:~$ echo \$PATH