Dann melde ich mich mal zu Wort.
crischi hat geschrieben:
Folgende Problemstellung, möglichst mit Scripting und Std-SW zu lösen:
Ein Script soll einen Dateinamen abfragen, aber die Eingabezeile soll bereits vorbelegt ein.
Erstmal grundsätzlich: Dieser Wunsch widerspricht dem Design von Terminals in Unix. (Erklärung nötig/gewünscht?) Deshalb wird es wohl keine Standardsoftware geben die das bietet.
Wenn das eine ganz bestimmte Version der bash kann, dann kann das für einen lokalen Hack akzeptabel sein, jedoch sollte man sich darüber klar sein, dass das höchst unportabel ist.
Wenn du dieses Feature *unbedingt* brauchst, dann solltest du es mit curses umsetzen. AFAIK sollte das damit möglich sein. Jedenfalls ist das der einzige halbwegs portable Ansatz der mit einfällt.
... aber es widerspricht den Konzepten von Unix, grundsätzlich.
yeti hat geschrieben:
BASH ist eine bis zum Erbrechen erweiterte Shell und da gibt es diverse inkompatible Konkurrenten. Systemrelevante Sachen sollte man sich garnicht erst angewöhnen in BASH zu schreiben, wenn man es auch auf anderen Systemen einsetzen will, denn BASH ist nicht überall in den Standardinstallationen enthalten. So sollte man sich beim Skripten darauf beschränken, was die SH kan...
Ja, aber dazu ist eine ordentliche Portion Wissen nötig. Zudem gibt es gut begründete Ansätze Scripte speziell für ksh, bash, rc, oder ähnliches zu schreiben, wie man auch Scripte für perl, python, php schreibt. Der Eine setzt python voraus um sein Script auszuführen, der andere halt die ksh. (Nur muss im Shebang dann halt auch `/usr/bin/ksh' stehen.) Das ist nicht gerade meine Sichtweise, aber ich finde sie verständlich und aktzeptabel.
Am Liebsten würd ich allerdings überlall lesen: "Was nicht in SH geht, macht man in C"...
Ich entgegne: Nimm für jede Aufgabe die angemessenen Werkzeuge.