📚 开源资源分享——颜佐光的个人书架
✉️ 联系站长
书架 / Linux / 语法

Linux shell脚本变量单引号和双引号的区别以及变量扩展问题

2021-01-06 09:50 · 约 594 字 · 浏览 2,153 次语法

Linux shell脚本变量单引号和双引号的区别以及变量扩展问题

单引号可以防止任何变量扩展。双引号可以防止通配符扩展但它允许变量扩展。

shellrun.sh

#!/bin/sh
#测试单引号‘’  双引号“”的区别
#单引号更严格一些。它可以防止任何变量扩展。双引号可以防止通配符扩展但允许变量扩展。
echo $SHELL
echo "$SHELL"
echo '$SHELL'

结果:

yanzuoguang@yanzuoguang-linux-1:~$ ./shellrun.sh 
/bin/bash
/bin/bash
$SHELL

一种防止这种扩展的方法,那就是使用转义字符——反斜杆

shellrun1.sh

#!/bin/sh
#测试单引号‘’  双引号“”的区别
#单引号更严格一些。它可以防止任何变量扩展。双引号可以防止通配符扩展但允许变量扩展。
#一种防止这种扩展的方法,那就是使用转义字符——反斜杆
echo \$SHELL
echo "\$SHELL"
echo '$SHELL'

结果:

yanzuoguang@yanzuoguang-linux-1:~$ ./shellrun1.sh 
$SHELL
$SHELL
$SHELL
← 返回《Linux》目录书架 →