Overzicht
Het expr commando wordt gebruikt om rekenkundige, relationele, logische en stringoperaties uit te voeren. Elk argument wordt behandeld als een afzonderlijk token, dus er is een spatie nodig tussen de operator en de operand.
Belangrijkste Kenmerken
- Rekenkundige operaties (optellen, aftrekken, vermenigvuldigen, delen, modulo)
- Stringoperaties (lengte, substring, index, reguliere expressie matching)
- Relationele operaties (gelijk, ongelijk, groter dan, kleiner dan)
- Logische operaties (AND, OR)
Belangrijkste Operatoren
Het expr commando gebruikt diverse operatoren om expressies te evalueren. Elke operator moet als een afzonderlijk argument worden behandeld.
Rekenkundige Operatoren
Relationele Operatoren
Logische Operatoren
String Operatoren
Gegenereerde opdracht:
Probeer de opdrachtcombinaties.
Uitleg:
`expr` Voer het commando uit.
Combineer deze opties en voer de opdracht virtueel uit met de AI.
Gebruiksvoorbeelden
Basis Rekenkundige Operatie
expr 10 + 5
Telt twee getallen op.
Vermenigvuldiging met Variabele
num=20
expr $num \* 3
Voert een vermenigvuldiging uit met behulp van een variabele. De vermenigvuldigingsoperator (*) heeft een speciale betekenis in de shell en moet worden geëscaped.
String Lengte Verkrijgen
expr length "Hello World"
Retourneert de lengte van de opgegeven string.
Substring Extraheren
expr substr "example" 3 4
Extraheert 4 tekens vanaf de 3e positie van de string 'example'.
Reguliere Expressie Matching en Extractie
expr "filename.tar.gz" : ".*\.\(tar\.gz\)"
Extraheert het deel van de string dat overeenkomt met de reguliere expressie. De inhoud binnen haakjes wordt geretourneerd als submatch.
Logische AND Operatie
expr 5 \& 0
Retourneert de eerste operand als beide operanden niet nul zijn. Omdat & een achtergrondtaak is in de shell, moet het worden geëscaped.
Tips & Aandachtspunten
Belangrijke punten en nuttige tips bij het gebruik van expr.
Belangrijkste Aandachtspunten
- **Spaties Verplicht**: Er moet altijd een spatie zijn tussen de operator en de operanden.
- **Escapen**: Tekens die een speciale betekenis hebben in de shell (bijv. `*`, `(`, `)`, `&`, `|`, `<`) moeten worden geëscaped met een backslash (`\`) of tussen aanhalingstekens worden geplaatst.
- **Integer Operaties**: `expr` ondersteunt standaard alleen integer-operaties. Gebruik andere tools zoals `bc` voor floating-point berekeningen.
- **Resultaat Opslaan**: Het resultaat van `expr` wordt naar de standaarduitvoer geschreven. Om het op te slaan in een shell-variabele, gebruik je command substitution (bijv. `result=$(expr 10 + 5)` of `result=`expr 10 + 5``).