trim' ist hier ein kleines Script mit dem Inhalt ...
Ja. Ich hab nur noch eine alternative Implementierung von
trim hingestellt. Die ist zwar auch länger, kommt aber ohne externe Programme aus.
Aber beides geht natürlich. :-)
Nein sorry, ich habe mich falsch ausgedrückt.
Meinte 'lowercase' weil Build-in Variablen in upper sind.
Ah ok. Jetzt verstehe ich. :-)
Letztlich ist es egal, wie man Variablen bezeichnet. Wichtig ist halt nur, das man möglichst nicht in irgendwelche Namenskollisionen rein läuft.
Ansonsten gibts natürlich verschiedene Konventionen. Das man zum Beispiel keine Sonderzeichen benutzen sollte und auch nix außerhalb des ASCII-Zeichensatzes, damit einem Zeichensatzprobleme nicht auf die Füße fallen.
Ansonsten ist der Punkt, das Umgebungsvariablen Upper-Case sind natürlich auch valide.
Habe das durch eval "$PROG"
ersetzt, damit Variablen expandiert werden (?).
Ja.
eval sorgt sozusagen dafür, das übergebene Zeichenketten (in dem Fall der Inhalt der Variable
PROG) als Befehl ausgeführt werden.
Im Prinzip kann man Befehle auch wie in der vorherigen Variante ausführen. Das Problem im konkreten Fall ist halt, das Du da ja mit dem Umlenkungszeichen auch mehr machst. Aber durch geschicktes einsetzen von
eval hast Du das Problem ja umschifft. :-)
Daß das gefundene Kommando einfach auf der Konsole ausgegeben wird, und (ohne 'read') einfach per Enter bestätigt werden kann wie ein Text, den ich händisch auf dem Terminal eingebe.
Das ist eine gute Fragestellung auf die ich gerade spontan keine Antwort habe. Bin aber auch nicht so vertraut mit der Korn-Shell.
Vielleicht fällt mir dazu noch was ein.
Gibt ja grundsätzlich zwei Möglichkeiten. Man ruft 'ne "interactive-editline" auf (womit man aber wieder ein externes Programm braucht) oder man fügt das am Prompt ein (was natürlich am besten wäre).
Ansonsten könntest Du das ja mit
xsel machen (so ähnlich wie in
Posting #3) und somit dann in die Shell einfügen. Ist keine schöne Lösung, aber so machst Du es editierbar.