staging.inyokaproject.org

echo

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |
Dieses Thema ist die Diskussion des Artikels echo.

kutteldaddeldu Team-Icon

Anmeldungsdatum:
1. Juli 2008

Beiträge: 3586

Artikelchen für echo aus den coreutils.

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi Kuttel Daddeldu,

hier auch wieder ein schoener Artikel ☺ . Bei dem Beispiel mit brace extension weiss ich nicht, auf welchen Shells das funktioniert. Ansonsten kannst du noch in der Hinweisbox type erwaehnen, um abzufragen, ob echo als Shell-Builtin verwendet wird. Allerdings weiss ich auch hier nicht, inwiefern type auf den Shells verfuegbar ist.

Gruss Lasall

kutteldaddeldu Team-Icon

(Themenstarter)

Anmeldungsdatum:
1. Juli 2008

Beiträge: 3586

Hi Lasall,

vielen Dank für deine Durchsicht(en)! ☺

Bei dem Beispiel mit brace extension weiss ich nicht, auf welchen Shells das funktioniert.

Ich habe mal die Shells hier durchprobiert. Die einzige Shell, bei der es nicht funktioniert, ist (ärgerlicherweise) die Dash. Ich schau mal, wie man das einbauen kann.

Ansonsten kannst du noch in der Hinweisbox type erwaehnen, um abzufragen, ob echo als Shell-Builtin verwendet wird.

Also eine Bemerkung wie: „Mit dem Befehl type echo kann überprüft werden, ob echo als Shell-Befehl verfügbar ist.“? (Oder wüsstest du eine bessere Übersetzung für „Shell Builtin“?)

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi Kuttel Daddeldu,

Builtin wuerde ich nicht uebersetzen, aber hier wird bestimmt gerne darueber diskutiert 😉 .

Gruss Lasall

kutteldaddeldu Team-Icon

(Themenstarter)

Anmeldungsdatum:
1. Juli 2008

Beiträge: 3586

Okay, ich bau's so ein! (In den Begriffe-Thread traue ich mich nicht mehr, der ist mir etwas zu weltbewegend-schwerblütig geworden! 😈 )

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17432

Wie wäre es mit interner oder eingebauter Befehl?

Wozu dienen bei den Beispielen die Anführungsstriche?

1
echo Dieses Log wurde durchgesehen am: $(date).

Geht doch genauso.

Sehr schön allerdings:

echo {Rühr,Spiegel,Weich,Ziegel,Boh}ei

kutteldaddeldu Team-Icon

(Themenstarter)

Anmeldungsdatum:
1. Juli 2008

Beiträge: 3586

user unknown schrieb:

Wie wäre es mit interner oder eingebauter Befehl?

Den „eingebauten Befehl“ fände ich auch gut. (Da der Begriff wohl gerade für Anfänger – die für diesen Artikel natürlich die Hauptzielgruppe sind – verständlicher ist als Shell-Builtin.)

Wozu dienen bei den Beispielen die Anführungsstriche?

Ohne allzu viel Ahnung von komplexeren Shell-Befehlen zu haben, war mir so, als sei es eine Art Grundregel, das (mit nicht-„destruktiven“ Quotes) lieber einmal zu viel als zu wenig gequotet (auch so ein schönes Wort 😉) wird. Bei mir ergibt zudem (getestet in der ZSH und Bash):

echo -e Heute ist ein schöner Sommer \btag! 
Heute ist ein schöner Sommer btag!

Mit Quotes hingegen:

Heute ist ein schöner Sommertag!

kaputtnik

Anmeldungsdatum:
31. Dezember 2007

Beiträge: 9245

Hi,

user unknown schrieb:

Sehr schön allerdings:

echo {Rühr,Spiegel,Weich,Ziegel,Boh}ei

Schön ja, aber mit dem Hinweis "(Leider verfügt gerade die Standard-Shell von Ubuntu, die Dash, nicht über die folgende Funktionalität.)" kann ich ich in dem Zusammenhang gar nix anfangen. Welche Funktionalität kann die dash nicht? Das Ergebnis, welches bei mir durch die Zeile hervorgerufen wird, scheint mir zumindest plausibel:

$ echo {Rühr,Spiegel,Weich,Ziegel,Boh}ei
Rührei Spiegelei Weichei Ziegelei Bohei 

Was kann jetzt die Standard-Shell nicht?

Gruß
kaputtnik

kutteldaddeldu Team-Icon

(Themenstarter)

Anmeldungsdatum:
1. Juli 2008

Beiträge: 3586

Hmm, komisch. Bei mir kommt folgendes (aus der Zsh heraus, daher erst der Aufruf der Dash):

~: dash
$ echo {Rühr,Spiegel,Weich,Ziegel,Boh}ei
{Rühr,Spiegel,Weich,Ziegel,Boh}ei
$ 

diesch Team-Icon

Avatar von diesch

Anmeldungsdatum:
18. Februar 2009

Beiträge: 5072

Ein paar Ergänzungen, die mir spontan einfallen:

  • Mit /bin/echo kann man explizit echo aus den Coreutils aufrufen

  • Mir fällt spontan unter Linux keine real existierende Shell ein, die kein eingebautes echo hat

  • Statt echo -e kann man auch printf benutzen. Dort ist die Unterstützung von \-Sequenzen von POSIX vorgeschrieben, so dass man keine Portabilitätsprobleme hat.

  • Die Standard-Shell für interaktive Benutzung ist unter Ubuntu die Bash. Die Dash wird als /bin/sh oft für Shell-Skripte verwendet. Die Dash kennt keine brace expansion. Da Die Parameter-Expansion aber eigentlich nicht direkt etwas mit echo zu tun hat, würde ich das da eher allgemeiner erwähnen, z.B. dass sich echo gut dafür eignet, das Ergebnis einer Expansion zu prüfen.

kutteldaddeldu Team-Icon

(Themenstarter)

Anmeldungsdatum:
1. Juli 2008

Beiträge: 3586

Danke für die hilfreichen Erläuterungen! Magst du die Änderungen einbauen oder soll ich mich daran versuchen? 😉

Edit: Ich habe die Änderungen eingefügt!

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17432

kaputtnik schrieb:

user unknown schrieb:

Sehr schön allerdings:

echo {Rühr,Spiegel,Weich,Ziegel,Boh}ei

Schön ja, aber mit dem Hinweis "(Leider verfügt gerade die Standard-Shell von Ubuntu, die Dash, nicht über die folgende Funktionalität.)" kann ich ich in dem Zusammenhang gar nix anfangen. Welche Funktionalität kann die dash nicht?

Da bin ich nicht der richtige Ansprechpartner, weil ich keine Ahnung von der Dash habe.

Was kann jetzt die Standard-Shell nicht?

Der Begriff Standard-Shell erscheint mir auch heikel. Gemeint ist wohl, was mit /bin/sh verknüpft ist. Aber wenn der User das Gnome-Terminal öffnet öffnet sich nach wie vor die bash, oder nicht?

Meiner Kritik an einer inhaltlichen Aufladung der unterscheidlichen Gestaltungsmöglichkeiten von Befehlen wie

foo
bar 

und

foo
bar

wurde begegnet, dass es quasi intuitiv klar wäre, dass ersteres den interaktiven Modus betrifft, und zweiteres Skripte, die man abspeichert. Wenn der Artikel aber von interaktiven Kommandos handelt, dann ist die Standardshell eben nicht die dash. ☺

Wenn die dash gemeint sein soll muss man folglich die andere Gestaltung wählen.

Nicht dass ich glaube, dass die Leser dem folgen können, wo schon die Autoren es nicht schaffen ...

kutteldaddeldu Team-Icon

(Themenstarter)

Anmeldungsdatum:
1. Juli 2008

Beiträge: 3586

Von meiner Seite aus fertig und bereit zum Verschieben ins Wiki. Noch Änderungs- oder Ergänzungswünsche?

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi Kuttel Daddeldu,

sieht gut aus, schieb rueber 😉 .

Gruss Lasall

kutteldaddeldu Team-Icon

(Themenstarter)

Anmeldungsdatum:
1. Juli 2008

Beiträge: 3586

Artikel ist im Wiki!

Antworten |