欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Shell中特殊字符的用法總結(jié)大全

 更新時(shí)間:2017年08月08日 09:44:43   投稿:daisy  
這篇文章主要給大家總結(jié)了關(guān)于Shell中特殊字符的相關(guān)資料,文中包括分好、&、#、!、$、大于號(hào)、單雙引號(hào)等等一系列特殊字符的用法,通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。

前言

眾所周知shell既是類Unix操作系統(tǒng)的命令解析器,用于解釋執(zhí)行用戶輸入的一連串命令,它類似于DOS下的command和后來(lái)Windows的cmd.exe。同時(shí)shell也是一種程序設(shè)計(jì)語(yǔ)言。作為命令解釋型的腳本語(yǔ)言,它交互式解釋和執(zhí)行用戶輸入的命令或者自動(dòng)地解釋和執(zhí)行預(yù)先設(shè)定好的一連串的命令;作為程序設(shè)計(jì)語(yǔ)言,它預(yù)定義了各種環(huán)境變量,保留了一些關(guān)鍵字以及一些特殊字符的含義,并提供了許多在高級(jí)語(yǔ)言中才具有的控制結(jié)構(gòu),包括循環(huán)和分支判斷。

本文將給大家介紹關(guān)于Shell特殊字符用法的相關(guān)內(nèi)容,話不多說(shuō),來(lái)一起看看詳細(xì)的介紹:

1、;分號(hào)

連續(xù)運(yùn)行命令

# ifdown eth0;ifup eth0

2、| 管道

正則表達(dá)式中表示或者

# echo "ooooee" |egrep '(oo|ee)'{2} 表示匹配 oooo 或者 eeee 的字符

前面命令的標(biāo)準(zhǔn)輸出作為后面命令的標(biāo)準(zhǔn)輸入

# ifconfig|grep eth0 表示ifconfig查出來(lái)的信息然后過(guò)濾出eth0的這一行

3、&

將命令放到后臺(tái)執(zhí)行

# mysqld_safe --user=mysql & 將MySQL放到后臺(tái)啟動(dòng)

表示標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤輸出

# ifconfig &>/dev/null 將ifconfig執(zhí)行得到的結(jié)果輸出到/dev/null里面

4、&&

前面命令返回值為0才執(zhí)行后面的命令

# ls && echo "ok" 

5、||

前面命令返回值為非0才執(zhí)行后面的命令

# lls || echo "ok" 

6、# 井號(hào)

# 表示注釋

$# 表示位置參數(shù)的個(gè)數(shù)

# echo $#
0

${#變量名} 表示變量的長(zhǎng)度

# a='hello'
# echo ${#a}
5

${#變量名[@]} 表示數(shù)組的個(gè)數(shù)

# a=(1 2 3)
# echo ${#a[@]}
3

7、!驚嘆號(hào)

將命令或者條件表達(dá)式的返回值取反

# if ! [ 1<2 ]; then echo 'ok'; else echo 'no'; fi
ok

執(zhí)行歷史命令

# history 
1 ls
2 tail test1.txt
3 mysql -uroot -p123
4 ls /tmp/
5 cd /tmp/
[root@localhost ~]# !994
ls /tmp/
account.sql data.sql mysql.sock t1.txt t2.txt 

vi或者ftp中執(zhí)行外部shell命令

例如:在vim中,想要執(zhí)行一條命令,就在末行模式,輸入!感嘆號(hào)后面加上要執(zhí)行的命令

間接應(yīng)用變量

例如:${!a} ---- 間接取b 的值

8、$ 美元符號(hào)

取變量的值

# a=10
# echo $a
10

正則表達(dá)式表示行尾

egrep ':$' /etc/inittab 
egrep ‘^hello$' file

9、> 大于號(hào)

輸出重定向

echo '123' >test.txt 表示將123 輸入到文件test.txt中 條件測(cè)試中的大于號(hào)

11、< 小于號(hào)

輸入重定向

條件測(cè)試中的小于號(hào)

= 等號(hào)

變量賦值 - 例如:設(shè)置變量a=10

條件測(cè)試中的等號(hào) - 例如:[ a=b ] 判斷變量a是否等于b

數(shù)值比較 == - 例如:(( a==20 )) 判斷變量a是否等于20

12、+ 加號(hào)

算術(shù)運(yùn)算中的加號(hào) - 例如:1+3

正則表達(dá)式中1個(gè)或多個(gè)前面的字符 - 例如:ab+c 表示匹配ab和c之間有1個(gè)或者多個(gè) 字符

13、>>

輸出重定向追加 - 例如:echo "123" >> test.txt 將123追加到文件test.txt中

14、<<

here document

例如:

# passwd <<end
> 123
> 123
> end

更改用戶 root 的密碼 。

15、- 減號(hào)

算術(shù)運(yùn)算中的減號(hào) - 例如:10-2

命令的選項(xiàng) - 例如:ls -l

上一次工作目錄 - 例如:cd -

通配符和正則表達(dá)式中表示范圍 - 例如:[a-z]

tar -cvf - /home | tar -xvf - 

表示輸出流或輸入流

將前面的輸出 ,通過(guò)管道交給后面的命令,前面的壓縮,后面的解壓

16、'' 單引號(hào)

解決變量賦值空格的問(wèn)題

例如:a='1 2'

阻止shell替換

17、"" 雙引號(hào)

解決變量賦值空格的問(wèn)題

例如:a="1 2"

阻止shell部分字符替換,對(duì)$、!等無(wú)效

18、`` 反引號(hào) 相當(dāng)于 $()

命令行替換

例如:可以設(shè)變量a=`ls`

19、% 百分號(hào)

算術(shù)運(yùn)算中的模運(yùn)算

例如:echo $((100%10)) 就是100除以10的余數(shù)為0

vi中替換操作中表示所有行 (末行模式下,替換所有前面加 %)

例如:在末行模式下輸入 :% s/D/d 表示將文本中的所有的D替換為d

20、() 單圓括號(hào)

子shell中執(zhí)行命令,會(huì)繼承父shell的變量

括起數(shù)組元素

例如:定義一個(gè)數(shù)組 a=(1 2 3 4)

21、(()) 雙圓括號(hào)

算術(shù)運(yùn)算

例如: echo $((10/2)) 結(jié)果就是5

整數(shù)比較測(cè)試

例如: (( 10>2 )) 判斷10是否大于2

22、[] 單方括號(hào)

通配符和正則中表示匹配括號(hào)中的任意一個(gè)字符

例如: [abc] 表示匹配abc中的任意一個(gè)字符

條件測(cè)試表達(dá)式

例如: [ -f /etc/passwd ] // 測(cè)試是不是文件

數(shù)組中下標(biāo)括號(hào)

例如:echo ${a[0]} 表示取數(shù)組中下標(biāo)為0的值

23、[[]] 雙方括號(hào)

字符串比較測(cè)試

例如: [[a=b]] 用來(lái)字符串的比較

24、. 英文句點(diǎn)號(hào)

正則中表示任意1個(gè)字符

例如:a...b 表示 匹配 a和b之間夾三個(gè)字符的字符串

當(dāng)前shell執(zhí)行腳本命令

例如: ./test.sh 執(zhí)行當(dāng)前路徑下的shell腳本test.sh

表示當(dāng)前目錄

例如:cd ./bgk 進(jìn)入當(dāng)前目錄下的bgk目錄下

25、{} 大括號(hào)

通配符擴(kuò)展 abc{1,2,3}

正則表達(dá)式中表示范圍

例如:a{3} 匹配3個(gè) a

for i in {1...10} 循環(huán)指定范圍

匿名函數(shù){ cmd1;cmd2;cmd3;} &> /dev/null

{ } 里面的命令,是在當(dāng)前shell執(zhí)行

注意: { } 第一條命令前面要有空格,后面的命令要有分號(hào)

括起變量名 ${abc}a

26、/ 正斜杠

算術(shù)運(yùn)算中的除法

例如:echo $((10/2)) 結(jié)果就是5

根目錄或路徑分割符

例如:cd /usr/local/ 表示路徑

27、^

在通配符中表示取反

例如:[^abc] 表示匹配除了abc外的任意一個(gè)字符

在正則表達(dá)式中表示以什么開(kāi)頭

例如:

egrep ‘^hello$' file

總結(jié)

好了,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • 詳解Windows與Linux共享文件夾互相訪問(wèn)

    詳解Windows與Linux共享文件夾互相訪問(wèn)

    這篇文章主要介紹了 詳解Windows與Linux共享文件夾互相訪問(wèn)的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • linux上搭建solr的操作方法(用tomcat部署)

    linux上搭建solr的操作方法(用tomcat部署)

    下面小編就為大家分享一篇linux上搭建solr的操作方法(用tomcat部署),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • shell 中數(shù)學(xué)計(jì)算總結(jié)

    shell 中數(shù)學(xué)計(jì)算總結(jié)

    shell中的賦值和操作默認(rèn)都是字符串處理,在此記下shell中進(jìn)行數(shù)學(xué)運(yùn)算的幾個(gè)特殊方法,以后用到的時(shí)候可以來(lái)看,呵呵
    2012-09-09
  • 神奇的shell命令行輸入與輸出功能介紹

    神奇的shell命令行輸入與輸出功能介紹

    命令行還是比較常用的,于是我研究了一下shell命令行,在這里拿出來(lái)和大家分享一下,希望對(duì)大家有用
    2013-02-02
  • shell腳本實(shí)現(xiàn)定時(shí)檢查應(yīng)用狀態(tài)步驟

    shell腳本實(shí)現(xiàn)定時(shí)檢查應(yīng)用狀態(tài)步驟

    這篇文章主要為大家介紹了shell腳本實(shí)現(xiàn)定時(shí)檢查應(yīng)用狀態(tài)步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • 在Linux上列出磁盤信息的七個(gè)命令詳解

    在Linux上列出磁盤信息的七個(gè)命令詳解

    在 Linux 系統(tǒng)上,了解系統(tǒng)中的磁盤信息對(duì)于系統(tǒng)管理員和用戶來(lái)說(shuō)都是至關(guān)重要的,通過(guò)了解系統(tǒng)上的磁盤情況,可以有效管理存儲(chǔ)空間、診斷問(wèn)題并進(jìn)行性能優(yōu)化,本文給大家介紹了在Linux上列出磁盤信息的七個(gè)命令,需要的朋友可以參考下
    2024-05-05
  • linux用戶與文件基礎(chǔ)命令介紹(1)

    linux用戶與文件基礎(chǔ)命令介紹(1)

    這篇文章主要為大家詳細(xì)介紹了linux用戶與文件基礎(chǔ)命令,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • 詳解Linux命令中的符號(hào)

    詳解Linux命令中的符號(hào)

    這篇文章主要介紹了Linux命令中的符號(hào),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-11-11
  • Linux查找文件夾下包含某字符的所有文件

    Linux查找文件夾下包含某字符的所有文件

    這篇文章主要介紹了Linux查找文件夾下包含某字符的所有文件,文中給大家提到了linux查找目錄下的所有文件中是否含有某個(gè)字符串的相關(guān)知識(shí),需要的朋友可以參考下
    2019-09-09
  • Linux下NC反彈shell命令(推薦)

    Linux下NC反彈shell命令(推薦)

    這篇文章主要介紹了Linux下NC反彈shell命令,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下吧
    2017-07-07

最新評(píng)論