Entwicklung von Shell-Skripten: Praktische Anwendung von printf- und test-Befehlen

Inhaltsverzeichnis

Shell-Befehl printf

Einfachen Text drucken

Shell-Testbefehl

1. Dateitest

2. String-Vergleich

3. Ganzzahlvergleich

logische Operation:


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

Supongo que te gusta

Origin blog.csdn.net/m0_67906358/article/details/132646588
Recomendado
Clasificación