麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Linux Shell > 正文

Shell中特殊字符的用法總結大全

2020-07-27 18:52:31
字體:
來源:轉載
供稿:網友

前言

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

本文將給大家介紹關于Shell特殊字符用法的相關內容,話不多說,來一起看看詳細的介紹:

1、;分號

連續運行命令

# ifdown eth0;ifup eth0

2、| 管道

正則表達式中表示或者

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

前面命令的標準輸出作為后面命令的標準輸入

# ifconfig|grep eth0 表示ifconfig查出來的信息然后過濾出eth0的這一行

3、&

將命令放到后臺執行

# mysqld_safe --user=mysql & 將MySQL放到后臺啟動

表示標準輸出和標準錯誤輸出

# ifconfig &>/dev/null 將ifconfig執行得到的結果輸出到/dev/null里面

4、&&

前面命令返回值為0才執行后面的命令

# ls && echo "ok" 

5、||

前面命令返回值為非0才執行后面的命令

# lls || echo "ok" 

6、# 井號

# 表示注釋

$# 表示位置參數的個數

# echo $#0

${#變量名} 表示變量的長度

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

${#變量名[@]} 表示數組的個數

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

7、!驚嘆號

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

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

執行歷史命令

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

vi或者ftp中執行外部shell命令

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

間接應用變量

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

8、$ 美元符號

取變量的值

# a=10# echo $a10

正則表達式表示行尾

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

9、> 大于號

輸出重定向

echo '123' >test.txt 表示將123 輸入到文件test.txt中 條件測試中的大于號

11、< 小于號

輸入重定向

條件測試中的小于號

= 等號

變量賦值 - 例如:設置變量a=10

條件測試中的等號 - 例如:[ a=b ] 判斷變量a是否等于b

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

12、+ 加號

算術運算中的加號 - 例如:1+3

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

13、>>

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

14、<<

here document

例如:

# passwd <<end> 123> 123> end

更改用戶 root 的密碼 。

15、- 減號

算術運算中的減號 - 例如:10-2

命令的選項 - 例如:ls -l

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

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

tar -cvf - /home | tar -xvf - 

表示輸出流或輸入流

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

16、'' 單引號

解決變量賦值空格的問題

例如:a='1 2'

阻止shell替換

17、"" 雙引號

解決變量賦值空格的問題

例如:a="1 2"

阻止shell部分字符替換,對$、!等無效

18、`` 反引號 相當于 $()

命令行替換

例如:可以設變量a=`ls`

19、% 百分號

算術運算中的模運算

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

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

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

20、() 單圓括號

子shell中執行命令,會繼承父shell的變量

括起數組元素

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

21、(()) 雙圓括號

算術運算

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

整數比較測試

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

22、[] 單方括號

通配符和正則中表示匹配括號中的任意一個字符

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

條件測試表達式

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

數組中下標括號

例如:echo ${a[0]} 表示取數組中下標為0的值

23、[[]] 雙方括號

字符串比較測試

例如: [[a=b]] 用來字符串的比較

24、. 英文句點號

正則中表示任意1個字符

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

當前shell執行腳本命令

例如: ./test.sh 執行當前路徑下的shell腳本test.sh

表示當前目錄

例如:cd ./bgk 進入當前目錄下的bgk目錄下

25、{} 大括號

通配符擴展 abc{1,2,3}

正則表達式中表示范圍

例如:a{3} 匹配3個 a

for i in {1...10} 循環指定范圍

匿名函數{ cmd1;cmd2;cmd3;} &> /dev/null

{ } 里面的命令,是在當前shell執行

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

括起變量名 ${abc}a

26、/ 正斜杠

算術運算中的除法

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

根目錄或路徑分割符

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

27、^

在通配符中表示取反

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

在正則表達式中表示以什么開頭

例如:

egrep ‘^hello$' file

總結

好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: av在线免费观看网 | 亚洲一级电影在线观看 | 亚洲小视频在线观看,com | 91麻豆精品国产91久久久无需广告 | 亚州欧美在线 | 精品在线免费播放 | 成人一级黄色片 | 午夜国产成人 | 日韩黄网站 | 黑人一区二区三区四区五区 | 一区二区三区视频在线观看 | 国产毛片网站 | 精品国产一区二区三区久久久狼牙 | 国产91一区二区三区 | 成人男女免费视频 | 中文字幕免费看 | 一级黄色影院 | 欧美18—19sex性护士中国 | 国产三级a三级三级 | 日本一区二区视频在线观看 | 黄色网址在线免费 | 91 在线免费观看 | 黄色一级视频 | 日本不卡一区二区三区在线 | 天天鲁在线视频免费观看 | 精品国产一区二 | 国产成人精品区一区二区不卡 | 欧美日韩国产中文字幕 | freexxxhd喷水| 中韩毛片 | 亚洲精品久久久久久下一站 | 黄色的视频免费看 | 久久久久久久久久久综合 | 草莓福利社区在线 | 成人情欲视频在线看免费 | 一级国产航空美女毛片内谢 | 国产一级二级在线播放 | 渔夫荒淫艳史 | 欧美另类69xxxxx 视频 | 国产精品国产三级国产在线观看 | 午夜视频观看 |