单引号和双引号都能解决变量中间有空格的问题。
在bash中”空格“是一种很特殊的字符,比如在bash中这样定义str=this is String,这样就会报错,为了避免出错就得使用单引号''和双引号""。
双引号"":弱引用,可以实现变量和命令的解析。
单引号'':强引用,引号中的变量和命令无效,原样输出。
反引号``:命令替换,程序优先执行该内容并使用运行结果替换它。
美元符$:可获取变量的值,在与字符串比较时需要用双引号”“括起来。
${}:也是获取变量的值,大括号用于区分变量的边界。
[jack@CentOS7 ~]$ n=3
[jack@CentOS7 ~]$ echo '$n'
$n
[jack@CentOS7 ~]$ echo "$n"
3
[jack@CentOS7 ~]$ echo today is `date +%F`
today is 2022-12-03
[jack@CentOS7 ~]$ echo today is "date +%F"
today is date +%F
[jack@CentOS7 ~]$ echo today is date +%F #有空格
today is date +%F
-------------------华丽丽的分割线--------------------
[tom@oyy ~]$ n=3
[tom@oyy ~]$ echo $n
3
[tom@oyy ~]$ echo "$n" #双引号看情况使用
3
[tom@oyy ~]$ abc=5
[tom@oyy ~]$ a=1
[tom@oyy ~]$ echo $abc
5
[tom@oyy ~]$ echo ${a}bc
1bc