shell-003 通配符 与 转义字符

1.  通配符
*   代表任意的字符串,可以是空字符串
?   代表一个字符,不可以为空
zip*: zip 开头的字符串,如 zip ziper
*zip :以 zip 结尾的字符串,如 zip gunzip unzip
*zip*: 包含 zip 的字符串 , zip bunzip2 bzip2
* :任意的字符串
z*e: z 开头 e 结尾的字符串,如 zipnote zipzone
*.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 &&

你可能感兴趣的:(shell-003 通配符 与 转义字符)