Echo: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 18: Zeile 18:
== Parameter ==
== Parameter ==
== Optionen ==
== Optionen ==
{|class="wikitable sortable"  
{|class="wikitable sortable"  
|-
|-
Zeile 35: Zeile 34:
|  | '''--version'''
|  | '''--version'''
|  | gib Versionsinformation aus und beende das Programm  
|  | gib Versionsinformation aus und beende das Programm  
|-
|}
Ohne -E werden die folgenden Sequenzen erkannt und berechnet
{|class="wikitable sortable"
|-
|  | '''\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
|-
|-
|}
|}

Version vom 27. Februar 2022, 23:05 Uhr

echo gib ZEICHENKETTE(n) auf Standardausgabe aus.

Beschreibung

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

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.

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

Installation

Syntax

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

Parameter

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

Anwendungen

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

Geben Sie eine Textzeile ein und zeigen Sie sie in der Standardausgabe an

$ 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 


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

Bezeichnung

echo Zeigen Sie eine Textzeile / Zeichenfolge in der Standardausgabe oder einer Datei an.

/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 (z. B. -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

Links

Dateien

Man-Pages

Intern

Weblinks

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

Kontrollfragen

Testfrage 1

Antwort1

Testfrage 2

Antwort2

Testfrage 3

Antwort3

Testfrage 4

Antwort4

Testfrage 5

Antwort5