Ich muss eine leere Datei mit einem Shell-Skript erstellen. Der Dateiname wird ermittelt, indem alle Dateien in einem Verzeichnis untersucht werden, die einem Muster entsprechen, z. B. TEST.*
, und Anhängen von _END
hinzufügen, sodass die neue Datei wie folgt aussehen könnte:TEST.2011_END
. Das aktuelle Verzeichnis sei $DIR
. Also habe ich versucht:
for file in $DIR/TEST.*
do
touch $file_END
done
Dies gibt einen Fehler. Ich habe auch versucht, touch $file_END
zu ersetzen mit:
filename=$file_END
touch $filename
aber ohne Glück. Was soll ich tun?
Akzeptierte Antwort:
Die Syntax wäre:
filename="${file}_END"
oder in Ihrem Code
touch "${file}_END"
Der "
Anführungszeichen sind nicht erforderlich, solange $file
enthält keine Leerzeichen oder Globbing-Zeichen.