Zum Inhalt springen

Echo: Unterschied zwischen den Versionen

Aus Foxwiki
KKeine Bearbeitungszusammenfassung
K Textersetzung - „wikitable“ durch „table table-striped table-hover“
 
(70 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''topic''' kurze Beschreibung
'''echo''' gib ZEICHENKETTE(n) auf Standardausgabe aus.


= Beschreibung =
= Installation =
= Syntax =
== Parameter ==
== Optionen ==
= Konfiguration =
= Anwendungen =




= Beschreibung =
'''echo''' gibt alle Argumente, getrennt durch ein Leerzeichen, und einen abschließenden Zeilenumbruch aus.


=Bezeichnung=
'''internes echo'''
'''echo''' Zeigen Sie eine Textzeile / Zeichenfolge in der Standardausgabe oder einer Datei an.
* Die Befehle, die direkt von der Shell ausgeführt werden, werden als interne Befehle bezeichnet.  
 
* Es gibt keinen separaten Prozess zum Ausführen dieser Befehle.
=Übersicht=
 
$ echo [OPTION][STRING]
 
'''intern echo'''
Die Befehle, die direkt von der Shell ausgeführt werden, werden als interne Befehle bezeichnet. Es gibt keinen separaten Prozess zum Ausführen dieser Befehle.


'''externes echo'''
  /usr/bin/echo  
  /usr/bin/echo  
* Die Befehle, die vom Kernel ausgeführt werden, werden als externe Befehle bezeichnet.
* Jeder Befehl hat seine eindeutige Prozess-ID


'''extern echo'''
== /usr/bin/echo ==
Die Befehle, die vom Kernel ausgeführt werden, werden als externe Befehle bezeichnet. Jeder Befehl hat seine eindeutige Prozess-ID
 
=/usr/bin/echo=
warum sollte ich es benutzen wollen:
warum sollte ich es benutzen wollen:
# Sie verwenden nicht immer eine Shell. Unter verschiedenen Umständen führen Sie eine ausführbare Datei direkt und nicht über eine Shell aus.
# Zumindest theoretisch haben einige Muscheln kein eingebautes Echo. Dies ist eigentlich nicht erforderlich.


1 Sie verwenden nicht immer eine Shell. Unter verschiedenen Umständen führen Sie eine ausführbare Datei direkt und nicht über eine Shell aus.
Ein weniger häufiger Grund, warum Sie /bin/echo absichtlich verwenden könnten, ist, wenn Sie sich auf die Unterschiede zwischen ihm und dem von Ihrer Shell bereitgestellten Echo-Befehl verlassen.
 
2 Zumindest theoretisch haben einige Muscheln kein eingebautes Echo. Dies ist eigentlich nicht erforderlich.


Ein weniger häufiger Grund, warum Sie / bin / echo absichtlich verwenden könnten, ist, wenn Sie sich auf die Unterschiede zwischen ihm und dem von Ihrer Shell bereitgestellten Echo-Befehl verlassen.
Echo ist nicht sehr portabel, da unterschiedliche Implementierungen - sowohl über Betriebssysteme als auch über Shells auf demselben Betriebssystem hinweg - unterschiedliche Optionen (beispielsweise -e) unterstützen und sich in ihrer Behandlung von Backslashes unterscheiden.


Echo ist nicht sehr portabel, da unterschiedliche Implementierungen - sowohl über Betriebssysteme als auch über Shells auf demselben Betriebssystem hinweg - unterschiedliche Optionen (z. B. -e) unterstützen und sich in ihrer Behandlung von Backslashes unterscheiden.
=== Optionen ===
 
{| class="table table-striped table-hover"
=Optionen=
 
 
 
 
{| class="wikitable"
|+  
|+  
|-
|-
Zeile 52: Zeile 35:
|}
|}


 
{| class="table table-striped table-hover"
{| class="wikitable"
|+  
|+  
|-
|-
Zeile 71: Zeile 53:
|}
|}


=Anwendungen=
= Installation =
== Geben Sie eine Textzeile ein und zeigen Sie sie in der Standardausgabe an ==
= Syntax =
  $ echo Hallo Welt
  echo [OPTION]... [ZEICHENKETTE]...
Gibt den folgenden Text aus:
== Argumente ==
Hallo Welt
Ohne -E werden die folgenden Sequenzen erkannt und berechnet
 
 
== Deklarieren Sie eine Variable und geben Sie ihren Wert wieder. Deklarieren Sie beispielsweise eine Variable von x und weisen Sie ihren Wert = 10 zu ==
$ x=10
 
echo seinen Wert:
$ echo The value of variable x = $x


The value of variable x = 10
{|class="table table-striped table-hover sortable"  
 
 
== Verwenden Sie die Option '\b' - Rücktaste mit Backslash-Interpreter '-e', die alle dazwischen liegenden Leerzeichen entfernt==
$ echo -e "Sehr \bgeehrte \bDamen \bund \bHerren"
 
SehrgeehrteDamenundHerren
 
 
== Mit der Option '\n' - Neue Zeile mit Rücktaste-Interpretor '-e' wird eine neue Zeile dort behandelt, wo sie verwendet wird==
$ echo -e "Sehr \ngeehrte \nDamen \nund \nHerren"
 
Sehr
geehrte
Damen
und
Herren 
 
 
== Verwenden Sie die Option '\t' - horizontale Registerkarte mit Rücktaste-Interpretor '-e', um horizontale Registerkarten zu erhalten ==
$ echo -e "Sehr \tgeehrte \tDamen \tund \tHerren"
 
Sehr    geehrte        Damen  und    Herren
 
 
== Wie wäre es, wenn Sie die Option Neue Zeile '\n' und die horizontale Registerkarte '\t' gleichzeitig verwenden ==
$ echo -e "\n\tSehr \n\tgeehrte \n\tDamen \n\tund \n\tHerren"
 
        Sehr
        geehrte
        Damen
        und
        Herren
 
== Verwenden Sie die Option '\v' - vertikale Registerkarte mit Rücktaste-Interpretor '-e', um vertikale Tabulatoren zu erhalten ==
$ echo -e "\vSehr \vgeehrte \vDamen \vund \vHerren"
Sehr
      geehrte
              Damen
                    und
                        Herren
 
 
== Wie wäre es, wenn Sie die Option Neue Zeile '\n' und vertikale Registerkarte '\v' gleichzeitig verwenden ==
$ echo -e "\n\vSehr \n\vgeehrte \n\vDamen \n\vund \n\vHerren"
 
 
Sehr
 
geehrte
 
Damen
 
und
 
Herren
 
== Drucken Sie alle Dateien / Ordner mit dem Befehl echo (ls command alternative) ==
$ echo *
 
103.odt 103.pdf 104.odt 104.pdf 105.odt 105.pdf 106.odt 106.pdf 107.odt 107.pdf 108a.odt 108.odt  108.pdf 109.odt 109.pdf 110b.odt 110.odt 110.pdf 111.odt 111.pdf 112.odt 112.pdf 113.odt linux-headers- 3.16.0-customkernel_1_amd64.deb linux-image-3.16.0-customkernel_1_amd64.deb network.jpeg
 
== Drucken Sie Dateien einer bestimmten Art ==
 
$ echo *.jpeg
 
network.jpeg
 
= Links =
== Siehe auch ==
# [[Linux:Befehl:]]
 
 
== Extern ==
# https://wiki.ubuntuusers.de/echo/
 
 
= echo - Eine Zeile Text anzeigen  =
echo [OPTION]... [ZEICHENKETTE]...
 
Gib ZEICHENKETTE(n) auf Standardausgabe aus.
 
'''Optionen'''
 
{|class="wikitable sortable"  
|-
|-
| | '''-n'''
| | '''\NNN'''
| | gib keinen Zeilenvorschub am Ende der Zeile aus
| | Zeichen mit dem ASCII Code (oktal)
|-
|-
| | '''-e'''
| | '''\\'''
| | ermögliche Interpretation der \-Notationen unten
| | Rückschrägstrich
|-
|-
| | '''-E'''
| | '''\a'''
| | verhindere Interpolation einiger Sequenzen in ZKETTEn
| | Alarm (BEL)
|-
|-
| | '''--help'''
| | '''\b'''
| | gib diese Hilfe aus und beende das Programm
| | Zeichen zurück
|-
|-
| | '''--version'''
| | '''\c'''
| | gib Versionsinformation aus und beende das Programm
| | unterdrücke Zeilenvorschub am Ende
|-
|-
|}
| | '''\f'''
 
| | Seitenvorschub
Ohne -E werden die folgenden Sequenzen erkannt und berechnet
 
{|class="wikitable sortable"
|-
|-
| | '''\NNN'''
| | '''\n'''
| | Zeichen mit dem ASCII Code (oktal)
| | Zeilenvorschub
|-
|-
| | '''\\'''
| | '''\r'''
| | Rückschrägstrich
| | Wagenrücklauf
|-
|-
| | '''\a'''
| | '''\t'''
| | Alarm (BEL)
| | horizontaler Tabulatorstopp
|-
|-
| | '''\b'''
| | '''\v'''
| | Zeichen zurück
| | vertikaler Tabulatorstopp
|-
|-
| | '''\c'''
|}
| | unterdrücke Zeilenvorschub am Ende
 
== Optionen ==
{|class="table table-striped table-hover sortable"
|-
|-
| | '''\f'''
| | '''-n'''
| | Seitenvorschub
| | gib keinen Zeilenvorschub am Ende der Zeile aus
|-
|-
| | '''\n'''
| | '''-e'''
| | Zeilenvorschub
| | ermögliche Interpretation der \-Notationen unten
|-
|-
| | '''\r'''
| | '''-E'''
| | Wagenrücklauf
| | verhindere Interpolation einiger Sequenzen in ZKETTEn
|-
|-
| | '''\t'''
| | '''--help'''
| | horizontaler Tabulatorstopp
| | gib diese Hilfe aus und beende das Programm
|-
|-
| | '''\v'''
| | '''--version'''
| | vertikaler Tabulatorstopp
| | gib Versionsinformation aus und beende das Programm
|-
|-
|}
|}


'''echo '''
= Anwendung =
 
== echo ==
Gibt alle Argumente, getrennt durch ein Leerzeichen, und einen abschließenden Zeilenumbruch aus.
 
Die Option -n unterdrückt den Zeilenumbruch und -e erzwingt die Auswertung Escape-Sequenzen:  
Die Option -n unterdrückt den Zeilenumbruch und -e erzwingt die Auswertung Escape-Sequenzen:  


Zeile 245: Zeile 132:
   
   
  while :; do
  while :; do
    for ((i=${#zeit}; i; i--)); do
  for ((i=${#zeit}; i; i--)); do
      echo -en "\b"
    echo -en "\b"
    done
  done
    echo -en $zeit
  echo -en $zeit
    zeit=zeit+1
  zeit=zeit+1
    sleep 1
  sleep 1
  done
  done


== Textzeile auf der Standardausgabe ausgeben ==
$ echo Hallo Welt
Gibt den folgenden Text aus:
Hallo Welt
== Deklarieren Sie eine Variable und geben Sie ihren Wert wieder. Deklarieren Sie beispielsweise eine Variable von x und weisen Sie ihren Wert = 10 zu ==
$ x=10
echo seinen Wert:
$ echo The value of variable x = $x
The value of variable x = 10
== Rücktaste mit Backslash-Interpreter ==
Verwenden Sie die Option '\b' - Rücktaste mit Backslash-Interpreter '-e', die alle dazwischen liegenden Leerzeichen entfernt
$ echo -e "Sehr \bgeehrte \bDamen \bund \bHerren"
SehrgeehrteDamenundHerren
== Zeilenwechsel ==
Mit der Option '\n' - Neue Zeile mit Rücktaste-Interpretor '-e' wird eine neue Zeile dort behandelt, wo sie verwendet wird
$ echo -e "Sehr \ngeehrte \nDamen \nund \nHerren"
Sehr
geehrte
Damen
und
Herren


= Links =
== Tabulatoren ==
== Dateien ==
Verwenden Sie die Option '\t' - horizontale Registerkarte mit Rücktaste-Interpretor '-e', um horizontale Registerkarten zu erhalten
== Man-Pages ==
$ echo -e "Sehr \tgeehrte \tDamen \tund \tHerren"
== Intern ==
== Weblinks ==
Sehr  geehrte    Damen  und  Herren <br />
Wie wäre es, wenn Sie die Option Neue Zeile '\n' und die horizontale Registerkarte '\t' gleichzeitig verwenden
$ echo -e "\n\tSehr \n\tgeehrte \n\tDamen \n\tund \n\tHerren"
    Sehr
    geehrte
    Damen
    und
    Herren
Verwenden Sie die Option '\v' - vertikale Registerkarte mit Rücktaste-Interpretor '-e', um vertikale Tabulatoren zu erhalten
$ echo -e "\vSehr \vgeehrte \vDamen \vund \vHerren"
Sehr
  geehrte
      Damen
          und
            Herren
Wie wäre es, wenn Sie die Option Neue Zeile '\n' und vertikale Registerkarte '\v' gleichzeitig verwenden
$ echo -e "\n\vSehr \n\vgeehrte \n\vDamen \n\vund \n\vHerren"
Sehr
geehrte
Damen
und
Herren


=Kontrollfragen=
== Alle Dateien und Ordner ausgeben ==
<div class="toccolours mw-collapsible mw-collapsed">
Drucken Sie alle Dateien / Ordner mit dem Befehl echo (ls command alternative)
''Testfrage 1''
$ echo *
<div class="mw-collapsible-content">'''Antwort1'''</div>
</div>
103.odt 103.pdf 104.odt 104.pdf 105.odt 105.pdf 106.odt 106.pdf 107.odt 107.pdf 108a.odt 108.odt 108.pdf 109.odt 109.pdf 110b.odt 110.odt 110.pdf 111.odt 111.pdf 112.odt 112.pdf 113.odt linux-headers- 3.16.0-customkernel_1_amd64.deb linux-image-3.16.0-customkernel_1_amd64.deb network.jpeg
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 2''
<div class="mw-collapsible-content">'''Antwort2'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 3''
<div class="mw-collapsible-content">'''Antwort3'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 4''
<div class="mw-collapsible-content">'''Antwort4'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 5''
<div class="mw-collapsible-content">'''Antwort5'''</div>
</div>


== Dateien nach Endung ausgeben ==
$ echo *.jpeg
network.jpeg


= Links =
# https://wiki.ubuntuusers.de/echo/


[[Kategorie:Linux:Befehl]]
[[Kategorie:Linux/Befehl]]
[[Kategorie:Linux:Shell:Bash:Builtin]]
[[Kategorie:Bash/Builtin]]
[[Kategorie:Linux:Shell:Bash:Scripting]]

Aktuelle Version vom 29. Juli 2026, 10:51 Uhr

echo gib ZEICHENKETTE(n) auf Standardausgabe aus.


Beschreibung

echo gibt alle Argumente, getrennt durch ein Leerzeichen, und einen abschließenden Zeilenumbruch aus.

internes echo

  • Die Befehle, die direkt von der Shell ausgeführt werden, werden als interne Befehle bezeichnet.
  • Es gibt keinen separaten Prozess zum Ausführen dieser Befehle.

externes echo

/usr/bin/echo 
  • Die Befehle, die vom Kernel ausgeführt werden, werden als externe Befehle bezeichnet.
  • Jeder Befehl hat seine eindeutige Prozess-ID

/usr/bin/echo

warum sollte ich es benutzen wollen:

  1. Sie verwenden nicht immer eine Shell. Unter verschiedenen Umständen führen Sie eine ausführbare Datei direkt und nicht über eine Shell aus.
  2. Zumindest theoretisch haben einige Muscheln kein eingebautes Echo. Dies ist eigentlich nicht erforderlich.

Ein weniger häufiger Grund, warum Sie /bin/echo absichtlich verwenden könnten, ist, wenn Sie sich auf die Unterschiede zwischen ihm und dem von Ihrer Shell bereitgestellten Echo-Befehl verlassen.

Echo ist nicht sehr portabel, da unterschiedliche Implementierungen - sowohl über Betriebssysteme als auch über Shells auf demselben Betriebssystem hinweg - unterschiedliche Optionen (beispielsweise -e) unterstützen und sich in ihrer Behandlung von Backslashes unterscheiden.

Optionen

Options Description
-n Drucken Sie die nachfolgende neue Zeile nicht
-e Aktivieren Sie die Interpretation von Backslash-Escapezeichen
Escapesequenzen Description
\b Rücktaste "Backspace"
\\ Backslashs
\n Neue Zeile
\r Wagenrücklauf "carriage return"
\t Horizontaler Tab
\v Vertikaler Tab

Installation

Syntax

echo [OPTION]... [ZEICHENKETTE]...

Argumente

Ohne -E werden die folgenden Sequenzen erkannt und berechnet

\NNN Zeichen mit dem ASCII Code (oktal)
\\ Rückschrägstrich
\a Alarm (BEL)
\b Zeichen zurück
\c unterdrücke Zeilenvorschub am Ende
\f Seitenvorschub
\n Zeilenvorschub
\r Wagenrücklauf
\t horizontaler Tabulatorstopp
\v vertikaler Tabulatorstopp

Optionen

-n gib keinen Zeilenvorschub am Ende der Zeile aus
-e ermögliche Interpretation der \-Notationen unten
-E verhindere Interpolation einiger Sequenzen in ZKETTEn
--help gib diese Hilfe aus und beende das Programm
--version gib Versionsinformation aus und beende das Programm

Anwendung

echo

Die Option -n unterdrückt den Zeilenumbruch und -e erzwingt die Auswertung Escape-Sequenzen:

echo "\a"
\a
echo -n "\a"
\aecho -e "\a"
PIEP

Das nächste Beispiel verwendet "\b", um den Cursor um eine Position zurück zu bewegen:

cat ticker
#!/bin/sh

declare -i zeit=0
echo -en "Sekunden: \t"

while :; do
 for ((i=${#zeit}; i; i--)); do
   echo -en "\b"
 done
 echo -en $zeit
 zeit=zeit+1
 sleep 1
done

Textzeile auf der Standardausgabe ausgeben

$ echo Hallo Welt 

Gibt den folgenden Text aus:

Hallo Welt 

Deklarieren Sie eine Variable und geben Sie ihren Wert wieder. Deklarieren Sie beispielsweise eine Variable von x und weisen Sie ihren Wert = 10 zu

$ x=10

echo seinen Wert:

$ echo The value of variable x = $x 

The value of variable x = 10

Rücktaste mit Backslash-Interpreter

Verwenden Sie die Option '\b' - Rücktaste mit Backslash-Interpreter '-e', die alle dazwischen liegenden Leerzeichen entfernt

$ echo -e "Sehr \bgeehrte \bDamen \bund \bHerren" 

SehrgeehrteDamenundHerren

Zeilenwechsel

Mit der Option '\n' - Neue Zeile mit Rücktaste-Interpretor '-e' wird eine neue Zeile dort behandelt, wo sie verwendet wird

$ echo -e "Sehr \ngeehrte \nDamen \nund \nHerren" 

Sehr 
geehrte 
Damen
und 
Herren

Tabulatoren

Verwenden Sie die Option '\t' - horizontale Registerkarte mit Rücktaste-Interpretor '-e', um horizontale Registerkarten zu erhalten

$ echo -e "Sehr \tgeehrte \tDamen \tund \tHerren" 

Sehr  geehrte     Damen  und   Herren 

Wie wäre es, wenn Sie die Option Neue Zeile '\n' und die horizontale Registerkarte '\t' gleichzeitig verwenden

$ echo -e "\n\tSehr \n\tgeehrte \n\tDamen \n\tund \n\tHerren"

    Sehr 
    geehrte 
    Damen
    und 
    Herren

Verwenden Sie die Option '\v' - vertikale Registerkarte mit Rücktaste-Interpretor '-e', um vertikale Tabulatoren zu erhalten

$ echo -e "\vSehr \vgeehrte \vDamen \vund \vHerren" 

Sehr 
  geehrte 
      Damen 
         und 
           Herren

Wie wäre es, wenn Sie die Option Neue Zeile '\n' und vertikale Registerkarte '\v' gleichzeitig verwenden

$ echo -e "\n\vSehr \n\vgeehrte \n\vDamen \n\vund \n\vHerren"

Sehr 

geehrte 

Damen 

und 

Herren

Alle Dateien und Ordner ausgeben

Drucken Sie alle Dateien / Ordner mit dem Befehl echo (ls command alternative)

$ echo * 

103.odt 103.pdf 104.odt 104.pdf 105.odt 105.pdf 106.odt 106.pdf 107.odt 107.pdf 108a.odt 108.odt 108.pdf 109.odt 109.pdf 110b.odt 110.odt 110.pdf 111.odt 111.pdf 112.odt 112.pdf 113.odt linux-headers- 3.16.0-customkernel_1_amd64.deb linux-image-3.16.0-customkernel_1_amd64.deb network.jpeg

Dateien nach Endung ausgeben

$ echo *.jpeg 

network.jpeg

Links

  1. https://wiki.ubuntuusers.de/echo/