linux中单引号与双引号的区别与用法

Linux中单引号双引号的区别与用法

1.单引号

单引号将其中的内容都作为了字符串来,忽略所有的命令和特殊字符,类似于一个字符串的用法

echo 'This is a string'
>>> This is a string
echo 'ls ./'
>>> ls ./

2.双引号

双引号与单引号的区别在于其可以包含特殊字符,包括', ", $, ,如果要忽略特殊字符,就可以利用来转义,忽略特殊字符,作为普通字符输出:

var = 1
echo '$var'
>>> var
echo "$var"
>>> 1

echo "Here 'this is a string' is a string"
>>> Here 'this is a string' is a string
echo "Here "this is a string" is a string"
>>> Here "this is a string" is a string

3.反引号

反引号用来包含一个命令字符串的,其中的命令会先执行,得到的结果会返回到层命令再执行:

echo `echo 'this is the inner string'`+'out' 
>>> this is the inner string+out
echo `echo 'this is the inner ` string'`+'out'    #转义反引号
>>> this is the inner ` string+out

反引号类似与$(command)类似。

#一个使用例子,如果想要遍历当前文件夹及其一级子文件夹:
ls $(ls) 
ls `ls`
>>> first_folder
>sub_1 ..sub_2
> second_folder
>sub_1 ..sub_2
>


ref: 1, 2, 3

原文地址:https://www.cnblogs.com/Tom-Ren/p/9897804.html