Expr

Expr
Expr-example.png
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; Vor 43 Jahren
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

  1. ^ "Native Win32 -Ports einiger GNU -Dienstprogramme". Unxutils.SourceForge.net.
  2. ^ IBM. "IBM System I Version 7.2 Programmierung Qshell" (PDF). Abgerufen 2020-09-05.{{}}: CS1 Wartung: URL-Status (Link)

Externe Links