shell-003 通配符 与 转义字符

本文详细介绍了通配符(如 * 和 ?)在文件名匹配中的使用方法及规则,并列举了多个实例帮助理解。同时,文章还介绍了如何在Shell中使用转义字符来消除某些特殊字符的意义,确保命令按预期执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 通配符
*   代表任意的字符串,可以是空字符串
?   代表一个字符,不可以为空
zip*: zip开头的字符串,如zipziper
*zip:以zip结尾的字符串,如zipgunzipunzip
*zip*: 包含zip的字符串,zipbunzip2bzip2
*:任意的字符串
z*e: z开头e结尾的字符串,如zipnotezipzone
*.sh .sh结尾(即扩展名为.sh的文件)test.sh
ls????:ls开头,共6个字符的字符串,如lsattr
ls /etc/*.conf


2. 转义字符

去除特殊字符的作用,恢复其原来单纯字符用途

例1

echo 9 * 9 = 81  //shell会认为 * 是通配符

方法1:加 ‘ ’ 或者 “ ”

 echo 9 '*' 9 = 81

echo '9 * 9 = 81'

方法2:通过转义 \

echo 9 \* 9 = 81

例2

echo this is Jack's book.

方法1:echo this is Jack\'s book.

方法2:echo "this is Jack's book." 


3. 常见转义字符

特殊字符

转义写法

特殊字符

转义写法

 '

\'

(

\(

"

\"

)

\)

*

\*

|

\|

?

\?

[

\[

\

\\

]

\]

~

\~

{

\{

`

\`

}

\}

!

\!

;

\;

#

\#

<

\<

$

\$

>

\>

&

\&

/

\/



4. 续行符号

      \ 的后面若紧跟换行字符(即键入回车键Enter),则bash\视为“续行字符”。则上下输入的两行,视为一行。

例1
echo "line 1 \
line 1 too"

例2
./configure \
--with-apache=../apache_$ApacheVersion \
--with-mysql=$MYSQLHOME &&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值