echo $begrüßung;
Hat jemand einen Tipp fuer mich, wie ich es elegant loesen kann, dass die ganze Zeile ueberschrieben wird?
Dateien kennen das Konzept "Zeile" nicht. In Dateien steht eine Bytefolge, die vielleicht zwischendrin ein Byte oder eine Bytefolge enthält, die andere Prozesse als Zeilenende erkennen. Wenn ein Teil einer Datei länger oder kürzer werden soll, musst du dafür sorgen, dass der Rest hintendran entsprechend verschoben wird.
Es ist unter anderem üblich, die Datei komplett in einen Puffer einzulesen (z.B. ein Array) und nach Bearbeitung dieses Puffers, die Datei mit dessen Inhalt komplett neu zu schreiben.
Man kann auch mit Hilfe einer zweiten Datei, den ersten Teil dorthin auslagern, dann den bearbeiteten Teil, und dann den Rest. Und mit etwas Dateinamensakrobatik bekommt man den alten Namen wieder hin.
Beachte auch, dass unter einer Multiuser-Umgebung sichergestellt werden muss, dass zwei Prozesse nicht gleichzeitig die selbe Datei bearbeiten.
echo "$verabschiedung $name";