Expr
![]() Beispiel von Expr Befehl, der grundlegende Summierung macht | |
Originalautor (en) | Dick Haight (AT & T Bell Laboratories) |
---|---|
Entwickler (en) | Verschiedene Open Source und kommerziell Entwickler |
Erstveröffentlichung | 1979 |
Betriebssystem | Unix, Unix-artig, Ibm i |
Plattform | Plattformübergreifend |
Typ | Befehl |
Expr ist ein Befehlszeile Nützlichkeit auf Unix und Unix-artig Betriebssysteme was bewertet an Ausdruck und gibt den entsprechenden Wert aus. Es erschien zuerst in UNIX V7. Der Befehl ist als separates Paket für verfügbar Microsoft Windows Im Rahmen des Unxutils Sammlung von einheimisch Win32 Häfen von gemeinsamem GNU Unix-ähnliche Dienstprogramme.[1] Das Expr Der Befehl wurde auch auf die portiert Ibm i Betriebssystem.[2]
Überblick
Expr bewertet ganze Zahl oder Saite Ausdrücke, einschließlich Muster -Matching Reguläre Ausdrücke. Jedes Symbol (Operator, Wert usw.) in der Ausdruck muss als separater Parameter angegeben werden. Der größte Teil der Herausforderung beim Schreiben von Ausdrücken besteht darin, das Anrufen zu verhindern Befehlszeilenschale von der Schauspielung auf Zeichen für bestimmte Expr herstellen.
Syntax
Syntax: Expr Ausdruck
Die verfügbaren Betreiber
- Für Ganzzahlen: Addition, Subtraktion, Multiplikation, Teilung und Modul
- Für Zeichenfolgen: Passen Sie einen regulären Ausdruck an; In einigen Versionen: Finden Sie eine Reihe von Zeichen in einem String ("Index"), suchen Sie Substring ("Substr"), Länge der String ("Länge").
- Für beide: Vergleich (gleich, nicht gleich, weniger als usw.)
Beispiel
Das Folgende ist a (nichtPosix-Compliant) Beispiel mit boolesche Ausdrücke:
Exprimlänge "abcdef" "<" 5 "|" 15 - 4 ">" 8
Dieses Beispiel gibt "1" aus. Dies liegt daran, dass die Länge "Abcdef" 6 beträgt, was nicht weniger als 5 ist (also die linke Seite des | zurückgibt Null). Aber 15 minus 4 ist 11 und ist größer als 8, also ist die rechte Seite wahr, was das macht oder Richtig, also ist 1 das Ergebnis. Das Programm Status beenden ist für dieses Beispiel Null.
Für die reine Arithmetik ist es oft bequemer zu bedienen BC. Zum Beispiel:
Echo "3 * 4 + 14/2" | BC
da es den Ausdruck als ein einziges Argument akzeptiert.
Zum tragbar Die Shell -Programmierung, Verwendung der Befehle "Index", "Länge", "Übereinstimmung" und "Substr" müssen vermieden werden. Die String -Matching bleibt möglich, muss jedoch die Syntax "String: Regexp" verwenden.
Siehe auch
Verweise
- ^ "Native Win32 -Ports einiger GNU -Dienstprogramme". Unxutils.SourceForge.net.
- ^ IBM. "IBM System I Version 7.2 Programmierung Qshell" (PDF). Abgerufen 2020-09-05.
{{}}
: CS1 Wartung: URL-Status (Link)
Externe Links
- Die einzelne Unix -Spezifikation, Version 4 von Die offene Gruppe : Bewerten Sie Argumente als Ausdruck - Shell and Utilities Referenz,
- Ausgrenzinrufung im GNU CoreUtils -Handbuch