4.2 shell中的引用

4.2 shell中的引用

shell中的引用:在bash中有很多特殊字符,这些特殊字符就具有特殊含义。引用就是通知shell将这些特殊字符当作普通字符来处理。

转义字符“\”:如果将\放到特殊字符前面,shell就忽略与\相挨的一个特殊字符的原有含义,把它们当作普通字符对待。
ll file*

mkdir 1*

ls -ld 1*

ll -d 1*

[root@192 /]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@192 /]# echo $PATH
$PATH
[root@192 /]# echo $$PATH
$/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@192 /]# echo $$PATH
$$PATH

单引号:如果将字符串放到一对单引号之间,那么字符串中所有字符的特殊含义被忽略。强引用(单引号内部内容原样)

ll -d 1’*’

[root@192 /]# echo ‘$PATH’
KaTeX parse error: Expected 'EOF', got '#' at position 18: …TH [root@192 /]#̲ echo '$PATH’
$$PATH
[root@192 /]# echo ‘$$PATH’
$$PATH

反引号:**反引号**表示执行反引号中的命令

[root@192 /]# echo date
date
[root@192 /]# echo date
Mon Dec 23 15:55:50 CST 2019

双引号:双引号的引用与单引号基本相同,包含在双引号内的大部分特殊字符可以当作普通字符处理,但是仍然有一些特殊字符保留自己的特殊含义,比如**”$“和“\”以及“ `(反引号) ”**

[root@192 /]# echo “$PATH”
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@192 /]# echo “$PATH”
$PATH
[root@192 /]# echo “$$PATH”
KaTeX parse error: Expected 'EOF', got '#' at position 95: …in [root@192 /]#̲ echo '"PATH"’
“$PATH”
[root@192 /]# echo ‘"$PATH"’(外单引号内双引号)
“$PATH”
[root@192 /]# echo “‘ P A T H ′ " ( 外 双 引 号 内 单 引 号 ) ′ / u s r / l i b 64 / q t − 3.3 / b i n : / u s r / l o c a l / s b i n : / u s r / l o c a l / b i n : / u s r / s b i n : / u s r / b i n : / r o o t / b i n ′ 注 意 : 双 引 号 引 用 大 部 分 特 殊 字 符 ( 包 括 单 引 号 ) , 因 此 单 引 号 被 引 用 , 变 为 普 通 字 符 , 然 后 执 行 PATH'"(外双引号内单引号) '/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin' 注意:双引号引用大部分特殊字符(包括单引号),因此单引号被引用,变为普通字符,然后执行 PATH"/usr/lib64/qt3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/binPATH
[root@192 /]# echo "’$PATH’”(外双引号内单引号)
‘$PATH’
[root@192 /]# echo "’$ P A T H ′ " ( 外 双 引 号 内 单 引 号 ) ′ PATH'"(外双引号内单引号) ' PATH"/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin’
[root@192 /]# echo “date
Mon Dec 23 16:30:35 CST 2019

ll -d

1"*"

myname=redhat

echo “$myname”

echo “$$myname”

echo "date "

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值