Linux 命令行通配符及轉義符的實現

咱們想對一類文件批量操做,例如批量查看硬盤文件屬性,那麼正常命令會是:html

[root@linuxprobe ~]# ls /dev/sda
[root@linuxprobe ~]# ls /dev/sda1
[root@linuxprobe ~]# ls /dev/sda2
[root@linuxprobe ~]# ls /dev/sda3

但有些時候確實不知道分區的linux

通配符shell

星號(*)表明匹配零個或多個字符編程

huanyu@ubuntu:~$ ls -l /dev/sda*

  

問號(?)表明匹配單個字符ubuntu

huanyu@ubuntu:~$ ls -l /dev/sda?

  

中括號內加上數字[0-9]表明匹配0~9之間的單個數字的字符,而中括號內加上字母[abc]則是表明匹配a、b、c三個字符中的任意一個字符架構

huanyu@ubuntu:~$ ls -l /dev/sda[0-9]
huanyu@ubuntu:~$ ls -l /dev/sda[135]

  

 示例:學習

查看sda開頭的全部設備文件:spa

[root@linuxprobe ~]# ls /dev/sda*
/dev/sda /dev/sda1 /dev/sda2

查看sda後面有一個字符的設備文件:命令行

[root@linuxprobe ~]# ls /dev/sda?
/dev/sda1 /dev/sda2

查看sda後面包含0-9數字的設備文件:htm

[root@linuxprobe ~]# ls /dev/sda[0-9]
/dev/sda1 /dev/sda2

查看sda後面是1或3或5的設備文件:

[root@linuxprobe ~]# ls /dev/sda[135]
/dev/sda1

轉義符

  

反斜槓(\):使反斜槓後面的一個變量變爲單純的字符串

huanyu@ubuntu:~$ echo "Price is \$$PRICE"

  

反引號(``):把其中的命令執行後返回結果

huanyu@ubuntu:~$ echo `uname -a`

示例

定義名稱爲PRICE的變量值爲5:

[root@linuxprobe ~]# PRICE=5

想要輸出」價格是5″:

[root@linuxprobe ~]# echo "Price is $PRICE"
Price is 5

想要輸出」價格是$5″,但由於美圓符號與表明變量取值的$符號衝突了,因此報錯了:

[root@linuxprobe ~]# echo "Price is $$PRICE"
Price is 3767PRICE

添加一個反斜槓,將第一個$符號轉義:

[root@linuxprobe ~]# echo "Price is \$$PRICE"
Price is $5

使用單引號,變量將再也不被取值:

[root@linuxprobe ~]# echo 'Price is \$$PRICE'
Price is \$$PRICE

執行uname -a後能夠查看到本機內核的版本與架構信息(反引號裏面的命令會被執行):

[root@linuxprobe ~]# echo `uname -a`
Linux linuxprobe.com 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux

以上就是本文的所有內容,但願對你們的學習有所幫助,也但願你們多多支持腳本之家。

您可能感興趣的文章:

文章同步發佈: https://www.geek-share.com/detail/2752322935.html

相關文章
相關標籤/搜索