Heim > Betrieb und Instandhaltung > Betrieb und Wartung von Linux > Zusammenfassung der Sonderzeichen in Shell

Zusammenfassung der Sonderzeichen in Shell

巴扎黑
Freigeben: 2017-08-15 15:55:38
Original
1949 Leute haben es durchsucht

Dieser Artikel fasst hauptsächlich die relevanten Informationen zu Sonderzeichen in Shell zusammen, einschließlich der Zeichen &, #,! Die Verwendung einer Reihe von Sonderzeichen wie , $, Größer-als-Zeichen, einfache und doppelte Anführungszeichen usw. wird im Beispielcode ausführlich vorgestellt. Er hat einen gewissen Referenz-Lernwert für alle, die ihn beim Lernen oder Arbeiten benötigen Kannst einen Blick unten werfen.

Vorwort

Wie wir alle wissen, ist die Shell ein Befehlsparser für Unix-ähnliche Betriebssysteme. Er wird zum Interpretieren und Ausführen verwendet eine Reihe von vom Benutzer eingegebenen Befehlen. Sie ähnelt dem Befehl unter DOS und später cmd.exe unter Windows. Gleichzeitig ist die Shell auch eine Programmiersprache. Als befehlsinterpretierte Skriptsprache interpretiert und führt sie vom Benutzer eingegebene Befehle interaktiv aus oder interpretiert und führt automatisch eine Reihe voreingestellter Befehle aus. Als Programmiersprache definiert sie verschiedene Umgebungsvariablen vor und behält einige bei Die Bedeutung von Schlüsselwörtern und einigen Sonderzeichen und bietet viele Kontrollstrukturen, die nur in Hochsprachen zu finden sind, einschließlich Schleifen und Verzweigungsbeurteilungen.

Dieser Artikel führt Sie ohne weiteres in die Verwendung von Shell-Sonderzeichen ein:

1

Befehle kontinuierlich ausführen



# ifdown eth0;ifup eth0
Nach dem Login kopieren

2. Pipeline

bedeutet in einem regulären Ausdruck oder



# echo "ooooee" |egrep '(oo|ee)'{2} 表示匹配 oooo 或者 eeee 的字符
Nach dem Login kopieren
Als Standard wird die Standardausgabe des vorherigen Befehls verwendet Ausgabe des folgenden Befehls Standardeingabe



# ifconfig|grep eth0 表示ifconfig查出来的信息然后过滤出eth0的这一行
Nach dem Login kopieren

3, &

den Befehl „Ausführen“ im Hintergrund platzieren



# mysqld_safe --user=mysql & 将MySQL放到后台启动
Nach dem Login kopieren
bedeutet Standardausgabe und Standardfehlerausgabe



# ifconfig &>/dev/null 将ifconfig执行得到的结果输出到/dev/null里面
Nach dem Login kopieren

4, &&

Der folgende Befehl wird nur ausgeführt, wenn der Rückgabewert des vorherigen Befehls 0 ist



# ls && echo "ok"
Nach dem Login kopieren

5. ||

Der folgende Befehl lautet Wird nur ausgeführt, wenn der Rückgabewert des vorherigen Befehls ungleich 0 ist



# lls || echo "ok"
Nach dem Login kopieren

6 🎜># gibt einen Kommentar an

$# stellt die Anzahl der Positionsparameter dar



${#Variablenname} stellt die Länge der Variablen dar

# echo $#
0
Nach dem Login kopieren



${#Variablenname[@]} stellt die Anzahl der Arrays dar

# a='hello'
# echo ${#a}
5
Nach dem Login kopieren



# a=(1 2 3)
# echo ${#a[@]}
3
Nach dem Login kopieren
7.! Ausrufezeichen

Rückgabewert des Befehls oder Bedingungsausdrucks umkehren



Ausführungsverlauf Befehl

# if ! [ 1<2 ]; then echo &#39;ok&#39;; else echo &#39;no&#39;; fi
ok
Nach dem Login kopieren



Externen Shell-Befehl in vi oder ftp ausführen

# 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
Nach dem Login kopieren

Beispiel: In vim möchten Sie a ausführen Befehl, einfach im letzten Zeilenmodus eingeben! Fügen Sie den auszuführenden Befehl nach dem Ausrufezeichen hinzu

Indirekte Anwendung von Variablen

Zum Beispiel:
---- Nehmen Sie indirekt den Wert von b

${!a}

8. $ Dollarzeichen

Ermitteln Sie den Wert der Variablen



Regulärer Ausdruck stellt das Ende der Zeile dar

# a=10
# echo $a
10
Nach dem Login kopieren



egrep &#39;:$&#39; /etc/inittab 
egrep ‘^hello$&#39; file
Nach dem Login kopieren
9, > als Zeichen

Ausgabeumleitung



echo &#39;123&#39; >test.txt 表示将123 输入到文件test.txt中 条件测试中的大于号
Nach dem Login kopieren
11. Kleiner als Vorzeichen

Eingabeumleitung

Kleiner als Vorzeichen im bedingten Test

= Gleichheitszeichen

Variablenzuweisung – Beispiel: Variable a=10 festlegen

Das Gleichheitszeichen beim bedingten Testen – Beispiel: [ a=b ] Bestimmen Sie, ob Variable a gleich b ist

Numerischer Vergleich == - Zum Beispiel: (( a==20 )) Bestimmen Sie, ob die Variable a gleich 20 ist


12, + Pluszeichen

Das Pluszeichen in arithmetischen Operationen – Zum Beispiel: 1+3

1 oder mehr vorangehende Zeichen in regulären Ausdrücken – Für Beispiel: ab+c bedeutet Übereinstimmung 1 zwischen ab und c Oder mehreren Zeichen


13, >>

Ausgabeumleitung anhängen – zum Beispiel:
123 an die Datei test.txt anhängen

echo "123" >> test.txt

14, <<

hier Dokument

Zum Beispiel:



Ändern Sie das Passwort des Benutzers root.

# passwd <<end
> 123
> 123
> end
Nach dem Login kopieren


15. - Minuszeichen

Minuszeichen bei arithmetischen Operationen – Beispiel: 10-2
Optionen für den Befehl

– zum Beispiel: ls -l

Letztes Arbeitsverzeichnis – zum Beispiel: cd –

Platzhalter und reguläre Ausdrücke, die dargestellt werden sollen Bereiche – Zum Beispiel: [a-z]



bedeutet Ausgabestream oder Eingabestream

tar -cvf - /home | tar -xvf -
Nach dem Login kopieren

kommuniziert die vorherige Ausgabe über die Pipeline Geben Sie die folgenden Befehle ein, erstere Komprimierung, letztere Dekomprimierung


16, '' einfache Anführungszeichen

解决变量赋值空格的问题

例如: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$&#39; file
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonZusammenfassung der Sonderzeichen in Shell. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage