Heim > php教程 > PHP开发 > Hauptteil

Die Verwendung von expr in Shell

高洛峰
Freigeben: 2016-11-19 11:21:59
Original
2052 Leute haben es durchsucht

1. Der expr-Befehl wird im Allgemeinen für ganzzahlige Werte verwendet:
expr-Argument-Operator-Argument
Die allgemeine Verwendung besteht darin, expr für arithmetische Operationen zu verwenden, wie zum Beispiel:
[root @centos ~]# expr 10 20
30
$expr 30 / 3 / 2
5
(Beachten Sie, dass sich um den Operator Leerzeichen befinden. Wenn keine Leerzeichen vorhanden sind, bedeutet dies eine Zeichenfolgenverkettung.)
Bei Verwendung des Multiplikationszeichens muss seine spezifische Bedeutung durch einen Backslash maskiert werden. Weil die Shell die Bedeutung des Sternchens möglicherweise falsch versteht. Zum Beispiel:
[root@centos ~]# expr 10 * 10 //: Fehler,
expr: Syntaxfehler
[root@centos ~]# expr 10 * 10 // Korrekt
100
2. Verwenden Sie expr, um die Ausgabe zur Beurteilung in /dev/null zu importieren.
Wenn der Ausdruck erfolgreich ist, kann er wie folgt ausgedrückt werden:
$value=12
$expr $value 10 > /dev/null 2>&1
$echo $?
0

Wenn der Ausdruck fehlschlägt, geben Sie einen Wert ungleich Null zurück
$value=hello
$expr $value 10 > /dev/null 2>&1
$echo $?
2
3.expr arbeitet auch mit dem String-
-String-Vergleich:
expr gibt bei Erfolg den Wert 1 zurück, alle anderen Werte sind ungültig oder ein Fehler. Das folgende Beispiel testet beispielsweise, ob zwei Zeichenfolgen gleich sind, wobei die Zeichenfolgen „hello“ und „hello“ lauten.
$value=hello
$expr $value = "hello"
1
# Dies Der Rückgabewert der Shell ist 0.
$echo $?
0
4. In Bezug auf den Ausdrucksmustervergleich können Sie expr verwenden, um die Zeichenfolge durch Angabe des Doppelpunkts anzugeben : Option. Mustervergleich.* stellt ein beliebiges
-Zeichen dar, das 0 oder mehr Mal wiederholt wird. Der Rückgabewert ist der Inhalt in Klammern. In Tomcats catalina.sh wird beispielsweise der Mustervergleich verwendet Verbindungsdatei. Beispiele sind wie folgt:
# restart links – $0 kann ein Softlink sein
PRG="$0"
while [ -h "$PRG" ]; do
ls=` ls -ld "$ PRG"`
link=`expr "$ls" : '.*-> .*$'` #Der Rückgabewert von expr ist hier der tatsächliche Pfad der verbundenen Datei
if expr "$link" : '/ .*' > /dev/null; then #Pfadname gibt 1 zurück
PRG="$link"
else
PRG=`dirname "$PRG"`/ „$link“
fi
fertig

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage