Shell编程 引用符号

什么是引用符号

在bash中许多字符有特殊的含义,如果希望bash忽略某些字符的特殊含义,可以使用一种称为"引用"的技术,通知Shell暂时忽略被引用字符的特殊含义,将其作为普通字符处理

特殊字符表

https://blog.51cto.com/hjh524/1565097

三种引用符号

转义符:\

将转义符\放在Shell特殊字符前则Shell忽略该字符原有的含义

root@wang-Lenovo-ideapad-100S-14IBR:/home# \#
#:未找到命令
root@wang-Lenovo-ideapad-100S-14IBR:/home# #

单引号:'

将字符串放在一段单引号之间,则单引号内的所有字符的特殊含义都被忽略,而只做普通字符解释

root@wang-Lenovo-ideapad-100S-14IBR:/home# string=$path
root@wang-Lenovo-ideapad-100S-14IBR:/home# echo $string

root@wang-Lenovo-ideapad-100S-14IBR:/home# string='$path'
root@wang-Lenovo-ideapad-100S-14IBR:/home# echo $string
$path

双引号:"

双引号与单引号类似,但是只有大部分特殊字符被看作普通字符,$、|、"、'依旧有其特殊含义

root@wang-Lenovo-ideapad-100S-14IBR:/home# string="$HOME and \$HOME"
root@wang-Lenovo-ideapad-100S-14IBR:/home# echo $string
/root and $HOME

命令替换符

命令替换符`(反引号)与引用字符作用恰好相反

root@wang-Lenovo-ideapad-100S-14IBR:/home# string="pwd"
root@wang-Lenovo-ideapad-100S-14IBR:/home# echo $string
pwd
root@wang-Lenovo-ideapad-100S-14IBR:/home# string="`pwd`"
root@wang-Lenovo-ideapad-100S-14IBR:/home# echo $string
/home

#

任何#后面的数据将被全部视为注释文字而被忽略(#!除外)

猜你喜欢

转载自www.cnblogs.com/xfww/p/10577276.html
今日推荐