Überprüfen Sie, ob eine Variable eine Zahl in Bash enthält

Überprüfen Sie, ob eine Variable eine Zahl in Bash enthält

Eine Zahl ist eine Kombination von 0-9 Ziffern-die Bash-Variablen speichern den gesamten Wert in Form von Zeichenfolgen. Auch wenn der gespeicherte Wert im String -Format ist, können wir alle arithmetischen Vorgänge ausführen, wenn der gespeicherte Wert eine gültige Zahl ist. Als Best Practice sollten wir die Werte von Variablen überprüfen, bevor wir die arithmetischen Operationen ausführen.

Eine Zahl kann eine Ganzzahlnummer, eine schwebende Punktzahl oder eine positive/negative Zahl sein, die mit einem "+ und -" -Symbol Präfixe vorfixiert. In diesem Tutorial haben wir einige Methoden erörtert, um zu überprüfen.

Verwenden von gleichem Tilde (= ~) Operator

Der reguläre Ausdruck ist eine schnelle und einfache Möglichkeit zum Überprüfen, ob ein Wert eine Zahl ist. In Bash Scripting, die gleiche Tilde (= ~) Der Bediener wird verwendet, um einen Wert mit einem regulären Ausdruck zu vergleichen. Dies kann mit der Bash verwendet werden, wenn Anweisung:

#!/usr/bin/env Bash # Shell -Skript, um zu überprüfen, ob die Eingabenummer eine Ganzzahl ist. dann echo "$ var ist eine Nummer" else echo "$ var ist keine Nummer" fi
12345678910#!/usr/bin/env Bash# Shell -Skript, um zu überprüfen, ob die Eingabenummer eine Ganzzahl ist. dann echo "$ var ist eine Nummer" else echo "$ var ist keine Nummer" fi

Schreiben Sie den obigen Ausschnitt in ein Shell -Skript und führen Sie aus. Erstmals geben eine Wertnummer ein.

Zuerst ausführen Bitte geben Sie eine Nummer ein: 12 12 ist eine Nummer 

Führen Sie das Skript erneut mit einigen Alphabeten aus und überprüfen Sie die Ausgabe:

Zweiter Lauf. Bitte geben Sie eine Nummer ein: 1A2B 12A ist keine Nummer 

Überprüfen Sie, ob die schwimmende Punktnummer

Eine schwimmende Punktzahl ist ein ganzzahliger Typ, der eine Zahl darstellt, die einen fraktionalen Teil enthalten kann (auch als Float bekannt). Wie der Name schon sagt, können diese Zahlen an verschiedenen Stellen und Zeiten unterschiedliche Werte annehmen. Schwimmpunktzahlen werden typischerweise verwendet, um Zahlen mit einem Dezimalpunkt darzustellen. Zum Beispiel 1.0, 0.6 und 10.26 sind alle schwimmende Punktzahlen.

Schreiben Sie ein neues Shell -Skript, das eine schwimmende Punktnummer als gültige Nummer betrachtet.

#!/usr/bin/env Bash # Shell -Skript, um zu überprüfen, ob die Eingabemummer eine Nummer # ist, die eine Ganzzahl- oder schwimmende Punktzahl ist -9]+([.] [0-9]+)?$]]; dann echo "$ var ist eine Nummer" else echo "$ var ist keine Nummer" fi
1234567891011#!/usr/bin/env Bash# Shell -Skript, um zu überprüfen, ob die Eingabemummer eine Nummer# ist, die eine Ganzzahl- oder schwimmende Punktzahl ist -9]+([.] [0-9]+)?$]]; dann echo "$ var ist eine Nummer" else echo "$ var ist keine Nummer" fi

Führen Sie das obige Skript aus, indem Sie einige schwimmende Punktzahlen eingeben. Dieses Skript betrachtet alle schwimmenden Punktnummern als gültige Zahlen.

Zuerst einleiten Bitte geben Sie eine Nummer ein: 12.10 12.10 ist eine Zahl 

Verwenden von Switch Case -Statement

Einige der Skripte, die erforderlich sind, um eine Fallanweisung zu haben. Das ähnelt den Switch -Aussagen in anderen Programmiersprachen. Wir können auch regelmäßige Ausdrücke in den Fällen von Anweisungen verwenden und überprüfen, ob die angegebene Eingabe eine Nummer ist.

#!/usr/bin/env Bash # Shell -Skript, um zu überprüfen, ob die Eingabenummer eine Nummer # verwendet wird. Switch Case Anweisung Read -P "Bitte geben Sie eine Nummer ein:" var case $ varin "|*[!0-9]*) echo "$ var ist keine Zahl" ;; *) echo "$ var ist eine Zahl" ;; ESAC
12345678910#!/usr/bin/env Bash# Shell -Skript, um zu überprüfen, ob die Eingabenummer eine Nummer# verwendet wird. Switch Case Anweisung Read -P "Bitte geben Sie eine Nummer ein:" var case $ varin "|*[!0-9]*) echo "$ var ist keine Zahl" ;; *) echo "$ var ist eine Nummer" ;; ESAC

Führen Sie das obige Skript mehrmals mit unterschiedlichen Eingaben aus und sehen Sie die Ergebnisse an:

Zuerst ausführen Bitte geben Sie eine Nummer ein: 12 12 ist eine Nummer 

Überprüfen Sie, ob die Nummer enthält +/- Zeichen

In den obigen Methoden haben wir auf ganzzahlige Werte überprüft, die nur 0-9 Ziffern enthalten, eine schwimmende Punktzahl, die auch einen Bruchteil der als Dezimalzahlen bezeichneten Werte enthält. In einigen Fällen kann eine Zahl auch positiv oder negativ sein. Eine beliebige Zahl ohne Präfix oder mit + ist eine positive Zahl. Die Nummer mit - Präfix ist eine negative Zahl.

Aktualisieren Sie den regulären Ausdruck, um eine Zahl zu berücksichtigen, die a hat +/- singt vorher.

#!/usr/bin/env Bash # Shell -Skript, um zu prüfen, ob die Eingabenummer eine Nummer # ist und eine positive oder negative Zahl sein kann ]?[0-9]+$]]; dann echo "$ var ist eine Nummer" else echo "$ var ist keine Nummer" fi
1234567891011#!/usr/bin/env Bash# Shell -Skript, um zu prüfen, ob die Eingabenummer eine Nummer# ist und eine positive oder negative Zahl sein kann ]?[0-9]+$]]; dann echo "$ var ist eine Nummer" else echo "$ var ist keine Nummer" fi

Führen Sie das obige Skript mit verschiedenen 2-Eingängen aus und überprüfen Sie die Ergebnisse.

Zuerst ausführen Bitte geben Sie eine Nummer ein: 12 12 ist eine Nummer. Zweitens geben Sie eine Nummer ein. Bitte geben Sie eine Nummer ein: -12 -12 ist eine Nummer dritter Lauf. Bitte geben Sie eine Nummer ein: +12 +12 ist eine Nummer ist eine Nummer 

Überprüfen Sie, ob eine Zahl postiv oder negativ ist

Während der Durchführung arithmetischer Operationen im Bash -Skripting sollten Sie die Eingabewerte überprüfen. Das folgende Shell -Skript hilft Ihnen bei der Überprüfung, ob die Eingabemummer eine positive Zahl oder eine negative Zahl ist.

#!/usr/bin/env Bash # Shell -Skript, um zu überprüfen, ob die Eingangsnummer # eine positive Nummer oder eine negative Zahl ist. = ~ ^[+,-]?[0-9]+$]]; dann ## prüfen, ob die Eingabe eine positive oder negative Zahl ist, wenn [[$ var = ~ ^[-] [0-9]+$]]; dann ist echo "$ var ist eine negative Zahl" else echo "$ var ist eine positive Zahl" fi sonst echo "$ var ist keine Nummer" fi
1234567891011121314151617#!/usr/bin/env Bash# Shell -Skript, um zu überprüfen, ob die Eingangsnummer# eine positive Nummer oder eine negative Zahl ist. ~ ^[+,-]?[0-9]+$]]; dann ## prüfen, ob die Eingabe eine positive oder negative Zahl ist, wenn [[$ var = ~ ^[-] [0-9]+$]]; dann ist echo "$ var ist eine negative Zahl" else echo "$ var ist eine positive Zahl" Fielse echo "$ var ist keine Nummer" fi

Führen Sie das obige Skript mit positiven und negativen Zahlen aus. Überprüfen Sie dann die Ergebnisse.

Zuerst rennen bitte eine Nummer: 12 12 ist eine positive Nummer. Zweitens geben Sie eine Nummer ein. Bitte geben Sie eine Nummer ein: -12 -12 ist eine negative Nummer 

Abschluss

Eine Zahl ist eine Sammlung von Ziffern von 0 bis 9. Eine beliebige Zahl kann eine positive oder negative Zahl sein. Eine Zahl kann eine Ganzzahl oder eine schwimmende Punktzahl sein. Dieses Tutorial hat Ihnen geholfen zu überprüfen.