<?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=Kommando-Substitutionen</id>
	<title>Kommando-Substitutionen - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=Kommando-Substitutionen"/>
	<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Kommando-Substitutionen&amp;action=history"/>
	<updated>2026-05-14T22:30:09Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Xinux Wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Kommando-Substitutionen&amp;diff=65131&amp;oldid=prev</id>
		<title>Thomas.will: Die Seite wurde neu angelegt: „= Kommandosubstitution =  *Die Kommandosubstitution ermöglicht es, die Ausgabe eines Befehls als Eingabe für einen anderen Befehl zu verwenden.   *Dadurch k…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Kommando-Substitutionen&amp;diff=65131&amp;oldid=prev"/>
		<updated>2025-10-17T14:33:33Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „= Kommandosubstitution =  *Die Kommandosubstitution ermöglicht es, die Ausgabe eines Befehls als Eingabe für einen anderen Befehl zu verwenden.   *Dadurch k…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Kommandosubstitution =&lt;br /&gt;
&lt;br /&gt;
*Die Kommandosubstitution ermöglicht es, die Ausgabe eines Befehls als Eingabe für einen anderen Befehl zu verwenden.  &lt;br /&gt;
*Dadurch können Ergebnisse von Kommandos direkt in Variablen gespeichert oder in andere Befehle eingebettet werden.  &lt;br /&gt;
*Die Shell ersetzt dabei den Ausdruck durch das Ergebnis des ausgeführten Befehls.  &lt;br /&gt;
&lt;br /&gt;
;Allgemeine Funktionsweise&lt;br /&gt;
*Der Befehl innerhalb der Substitution wird zuerst ausgeführt.  &lt;br /&gt;
*Das Ergebnis (die Standardausgabe) ersetzt dann die gesamte Substitution.  &lt;br /&gt;
*Die Kommandosubstitution kann in der Befehlszeile oder in Skripten verwendet werden.  &lt;br /&gt;
&lt;br /&gt;
= Varianten der Kommandosubstitution =&lt;br /&gt;
&lt;br /&gt;
;Moderne Schreibweise&lt;br /&gt;
*$(Befehl)  &lt;br /&gt;
 Diese Variante ist klarer lesbar, unterstützt Schachtelung und ist in modernen Skripten empfohlen.  &lt;br /&gt;
&lt;br /&gt;
;Ältere Schreibweise&lt;br /&gt;
*`Befehl`  &lt;br /&gt;
 Diese Variante verwendet Backticks und ist schwerer zu verschachteln, funktioniert aber weiterhin aus Kompatibilitätsgründen.  &lt;br /&gt;
&lt;br /&gt;
= Beispiele =&lt;br /&gt;
&lt;br /&gt;
;Einfaches Beispiel&lt;br /&gt;
*echo &amp;quot;Heute ist $(date)&amp;quot;  &lt;br /&gt;
 Heute ist Fri Oct 17 17:45:12 CEST 2025  &lt;br /&gt;
&lt;br /&gt;
;Zuweisung an eine Variable&lt;br /&gt;
*MOMENT=$(date +%T)  &lt;br /&gt;
*echo $MOMENT  &lt;br /&gt;
 17:45:12  &lt;br /&gt;
&lt;br /&gt;
;Kommandos in Kombination&lt;br /&gt;
*cd $(echo /home/$(whoami))  &lt;br /&gt;
 wechselt ins Home-Verzeichnis des aktuellen Benutzers  &lt;br /&gt;
&lt;br /&gt;
;Ältere Schreibweise mit Backticks&lt;br /&gt;
*MOMENT=`date +%T`  &lt;br /&gt;
*echo $MOMENT  &lt;br /&gt;
 17:45:12  &lt;br /&gt;
&lt;br /&gt;
= Verschachtelung =&lt;br /&gt;
&lt;br /&gt;
*Die moderne Variante erlaubt Schachtelungen, bei denen eine Kommandosubstitution innerhalb einer anderen verwendet wird.  &lt;br /&gt;
&lt;br /&gt;
;Beispiel&lt;br /&gt;
*echo &amp;quot;Hostname: $(hostname), IP: $(hostname -I | awk '{print $1}')&amp;quot;&lt;br /&gt;
 Hostname: orville, IP: 192.168.1.10  &lt;br /&gt;
&lt;br /&gt;
= Hinweise =&lt;br /&gt;
&lt;br /&gt;
*Die moderne Schreibweise $(...) ist der älteren Variante mit Backticks vorzuziehen.  &lt;br /&gt;
*Backticks (`...`) können leicht mit Apostrophen verwechselt werden und lassen sich schwer schachteln.  &lt;br /&gt;
*Die Kommandosubstitution ersetzt den Befehl durch seine Ausgabe – nicht durch den Exit-Status.  &lt;br /&gt;
*Sie wird von der Shell ausgewertet, bevor der eigentliche Befehl ausgeführt wird.  &lt;br /&gt;
&lt;br /&gt;
= Aufgaben =&lt;br /&gt;
&lt;br /&gt;
== Einfache Kommandosubstitution ==&lt;br /&gt;
*Erstellen Sie eine Variable ZEIT, die die aktuelle Uhrzeit enthält, und geben Sie sie aus.  &lt;br /&gt;
*Erstellen Sie eine Variable BENUTZER, die den Rückgabewert von whoami enthält, und geben Sie diesen aus.  &lt;br /&gt;
&lt;br /&gt;
== Verwendung in Befehlen ==&lt;br /&gt;
*Verwenden Sie die Kommandosubstitution, um direkt in Ihr Home-Verzeichnis zu wechseln.  &lt;br /&gt;
*Erzeugen Sie ein Verzeichnis mit Ihrem Benutzernamen als Namen über $(whoami).  &lt;br /&gt;
&lt;br /&gt;
== Schachtelung ==&lt;br /&gt;
*Erstellen Sie einen Befehl, der sowohl den Hostnamen als auch das aktuelle Datum in einer Zeile ausgibt.  &lt;br /&gt;
*Verwenden Sie dazu eine verschachtelte Kommandosubstitution mit $(hostname) und $(date +%F).&lt;/div&gt;</summary>
		<author><name>Thomas.will</name></author>
	</entry>
</feed>