Inhaltsverzeichnis
Shell-Befehl printf
Wenn Sie den Befehl printf in der Shell verwenden, können Sie Text formatieren und ausgeben.
Einfachen Text drucken
Dadurch wird einfach die Zeichenfolge „Hello, World!“ gedruckt, wobei am Ende ein Zeilenumbruchzeichen \n hinzugefügt wird, um die Zeile umzubrechen.
printf "Hello, World!\n"
Shell-Testbefehl
Wenn Sie den Testbefehl in der Shell verwenden, wird damit getestet, ob die Bedingung wahr (True) ist. Der Testbefehl wird normalerweise zur bedingten Beurteilung in Shell-Skripten verwendet, um je nach Ergebnis der Bedingung unterschiedliche Vorgänge auszuführen.
1. Dateitest
Attribute zum Testen von Dateien und Verzeichnissen
-e Datei: Überprüfen Sie, ob die Datei vorhanden ist.
-f Datei: Überprüfen Sie, ob die Datei eine reguläre Datei ist.
-d Datei: Überprüfen Sie, ob die Datei ein Verzeichnis ist.
-s Datei: Stellen Sie sicher, dass die Datei nicht leer ist (d. h. die Dateigröße ist größer als Null).
-r Datei: Überprüfen Sie, ob die Datei lesbar ist.
-w Datei: Überprüfen Sie, ob die Datei beschreibbar ist.
-x Datei: Überprüfen Sie, ob die Datei ausführbar ist.
Beispiel:
if [ -e "myfile.txt" ]; then
echo "文件存在"
fi
2. String-Vergleich
der Inhalt der Testzeichenfolge
String1 = String2: Prüft, ob zwei Strings gleich sind.
String1 != String2: Prüft, ob zwei Strings ungleich sind.
-n Zeichenfolge: Überprüfen Sie, ob die Zeichenfolge nicht leer ist.
-z string: Überprüfen Sie, ob die Zeichenfolge leer ist.
Beispiel:
if [ "$name" = "Alice" ]; then
echo "姓名是Alice"
fi
3. Ganzzahlvergleich
zum Testen ganzzahliger Werte
int1 -eq int2: Prüft, ob zwei Ganzzahlen gleich sind.
int1 -ne int2: Prüft, ob zwei ganze Zahlen ungleich sind.
Ganzzahl1 -lt Ganzzahl2: Prüft, ob Ganzzahl1 kleiner als Ganzzahl2 ist.
integer1 -le integer2: Prüft, ob integer1 kleiner oder gleich integer2 ist.
Ganzzahl1 -gt Ganzzahl2: Überprüfen Sie, ob Ganzzahl1 größer als Ganzzahl2 ist.
Ganzzahl1 -ge Ganzzahl2: Prüft, ob Ganzzahl1 größer oder gleich Ganzzahl2 ist.
Beispiel:
if [ $age -lt 18 ]; then
echo "年龄小于18岁"
fi
logische Operation:
für logische Operationen
! Ausdruck: Logisches NICHT, Negationsoperation.
expression1 -a expression2: Logisches UND, gibt true zurück, wenn beide Ausdrücke wahr sind.
Ausdruck1 -o Ausdruck2: logisches Oder, gibt „true“ zurück, wenn mindestens einer der beiden Ausdrücke wahr ist.
Beispiel:
if [ ! -e "file.txt" -a "$user" = "admin" ]; then
echo "文件不存在且用户是管理员"
fi