<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=Arithmetische_Substitutionen</id>
	<title>Arithmetische Substitutionen - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=Arithmetische_Substitutionen"/>
	<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Arithmetische_Substitutionen&amp;action=history"/>
	<updated>2026-05-14T20:40:34Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Xinux Wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Arithmetische_Substitutionen&amp;diff=65129&amp;oldid=prev</id>
		<title>Thomas.will: Die Seite wurde neu angelegt: „= Arithmetische Substitution =  *Die arithmetische Substitution ermöglicht es, Rechenoperationen direkt in der Shell auszuführen.   *Die Shell wertet dabei a…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Arithmetische_Substitutionen&amp;diff=65129&amp;oldid=prev"/>
		<updated>2025-10-17T14:31:08Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „= Arithmetische Substitution =  *Die arithmetische Substitution ermöglicht es, Rechenoperationen direkt in der Shell auszuführen.   *Die Shell wertet dabei a…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Arithmetische Substitution =&lt;br /&gt;
&lt;br /&gt;
*Die arithmetische Substitution ermöglicht es, Rechenoperationen direkt in der Shell auszuführen.  &lt;br /&gt;
*Die Shell wertet dabei arithmetische Ausdrücke aus und ersetzt sie durch das Ergebnis.  &lt;br /&gt;
*Im Gegensatz zu expr erfolgt die Berechnung intern, ohne ein separates Programm aufzurufen.  &lt;br /&gt;
*Das Ergebnis kann ausgegeben, in Variablen gespeichert oder in andere Kommandos eingebettet werden.  &lt;br /&gt;
&lt;br /&gt;
= Syntax =&lt;br /&gt;
&lt;br /&gt;
*Die arithmetische Substitution wird mit '''$((...))''' geschrieben.  &lt;br /&gt;
*Innerhalb der doppelten Klammern können ganzzahlige Ausdrücke mit Operatoren wie +, -, *, / und % verwendet werden.  &lt;br /&gt;
&lt;br /&gt;
;Beispiel&lt;br /&gt;
*echo $((3 + 5))  &lt;br /&gt;
 8  &lt;br /&gt;
&lt;br /&gt;
= Verwendung mit Variablen =&lt;br /&gt;
&lt;br /&gt;
*Variablen können direkt innerhalb der arithmetischen Substitution verwendet werden.  &lt;br /&gt;
*Das Dollarzeichen vor dem Variablennamen ist dabei optional.  &lt;br /&gt;
&lt;br /&gt;
;Beispiele&lt;br /&gt;
*A=7  &lt;br /&gt;
*B=4  &lt;br /&gt;
*echo $((A + B))  &lt;br /&gt;
 11  &lt;br /&gt;
*ERGEBNIS=$((A * B))  &lt;br /&gt;
*echo $ERGEBNIS  &lt;br /&gt;
 28  &lt;br /&gt;
&lt;br /&gt;
= Komplexe Ausdrücke =&lt;br /&gt;
&lt;br /&gt;
*Mehrere Operationen können kombiniert werden.  &lt;br /&gt;
*Klammern dienen zur Steuerung der Reihenfolge.  &lt;br /&gt;
&lt;br /&gt;
;Beispiele&lt;br /&gt;
*echo $(((10 + 2) * 3))  &lt;br /&gt;
 36  &lt;br /&gt;
*ZAHL=20  &lt;br /&gt;
*echo $((ZAHL / 4 + 6))  &lt;br /&gt;
 11  &lt;br /&gt;
&lt;br /&gt;
= Vergleich mit expr =&lt;br /&gt;
&lt;br /&gt;
*expr benötigt Leerzeichen zwischen den Operanden und ruft ein externes Programm auf.  &lt;br /&gt;
*Die arithmetische Substitution wird direkt von der Shell interpretiert.  &lt;br /&gt;
&lt;br /&gt;
;Beispiele&lt;br /&gt;
*expr 7 + 5  &lt;br /&gt;
 12  &lt;br /&gt;
*echo $((7 + 5))  &lt;br /&gt;
 12  &lt;br /&gt;
&lt;br /&gt;
= Weitere Operatoren =&lt;br /&gt;
&lt;br /&gt;
*Es stehen die üblichen C-ähnlichen Operatoren zur Verfügung:  &lt;br /&gt;
** + Addition  &lt;br /&gt;
** - Subtraktion  &lt;br /&gt;
** * Multiplikation  &lt;br /&gt;
** / Division (Ganzzahlergebnis)  &lt;br /&gt;
** % Modulo  &lt;br /&gt;
** ** Potenz (ab Bash 4)  &lt;br /&gt;
** ++ Inkrement  &lt;br /&gt;
** -- Dekrement  &lt;br /&gt;
&lt;br /&gt;
;Beispiele&lt;br /&gt;
*A=5  &lt;br /&gt;
*echo $((A++))  &lt;br /&gt;
 5  &lt;br /&gt;
*echo $A  &lt;br /&gt;
 6  &lt;br /&gt;
*echo $((A**2))  &lt;br /&gt;
 36  &lt;br /&gt;
&lt;br /&gt;
= Hinweise =&lt;br /&gt;
&lt;br /&gt;
*Divisionen werden als Ganzzahl berechnet (keine Nachkommastellen).  &lt;br /&gt;
*Ergebnisse von arithmetischen Substitutionen können direkt in Befehlen verwendet werden.  &lt;br /&gt;
*Die Syntax '''$((...))''' wird auch in Bedingungen oder Schleifen eingesetzt (z. B. while oder for).  &lt;br /&gt;
*Die arithmetische Substitution ist eine Sonderform der Befehlssubstitution, bei der statt eines Kommandos ein arithmetischer Ausdruck ausgewertet wird.  &lt;br /&gt;
*Die Befehlssubstitution wird später im Detail behandelt.  &lt;br /&gt;
&lt;br /&gt;
= Aufgaben =&lt;br /&gt;
&lt;br /&gt;
== Grundlagen ==&lt;br /&gt;
*Führen Sie einfache Berechnungen mit arithmetischer Substitution durch.  &lt;br /&gt;
*Verwenden Sie dazu die Syntax '''$((...))'''.&lt;br /&gt;
&lt;br /&gt;
;Beispiele&lt;br /&gt;
*echo $((5 + 8))  &lt;br /&gt;
*echo $((12 - 4))  &lt;br /&gt;
*echo $((6 * 3))  &lt;br /&gt;
*echo $((15 / 2))  &lt;br /&gt;
*echo $((15 % 4))  &lt;br /&gt;
&lt;br /&gt;
== Arbeiten mit Variablen ==&lt;br /&gt;
*Legen Sie zwei Variablen '''A''' und '''B''' mit beliebigen Zahlenwerten an.  &lt;br /&gt;
*Berechnen Sie deren Summe, Differenz, Produkt und Quotient mit arithmetischer Substitution.  &lt;br /&gt;
*Speichern Sie das Ergebnis einer Berechnung in einer neuen Variablen '''ERG''' und geben Sie es aus.  &lt;br /&gt;
&lt;br /&gt;
== Erweiterte Operationen ==&lt;br /&gt;
*Erhöhen Sie eine Variable mit dem Inkrementoperator um eins und geben Sie das Ergebnis aus.  &lt;br /&gt;
*Verringern Sie die Variable anschließend mit dem Dekrementoperator um eins.  &lt;br /&gt;
*Berechnen Sie das Quadrat einer Zahl mit dem Potenzoperator '''**'''.  &lt;br /&gt;
*Verwenden Sie einen kombinierten Ausdruck wie '''$(( (A + B) * 2 ))'''.  &lt;br /&gt;
&lt;br /&gt;
== Anwendung in Skripten ==&lt;br /&gt;
*Erstellen Sie ein Skript '''arithmetik.sh''' mit folgendem Inhalt:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
A=5&lt;br /&gt;
B=3&lt;br /&gt;
ERG=$(( (A + B) * 2 ))&lt;br /&gt;
echo &amp;quot;Das Ergebnis beträgt: $ERG&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Machen Sie das Skript ausführbar und führen Sie es aus.  &lt;br /&gt;
*Ändern Sie die Werte von '''A''' und '''B''' und beobachten Sie die Ergebnisse.&lt;/div&gt;</summary>
		<author><name>Thomas.will</name></author>
	</entry>
</feed>