GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Erstellen einer leeren Datei mit einem Variablennamen in einem Skript?

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.


Linux
  1. Erstellen einer Webzertifikat-CSR-Datei.

  2. Variable mit Variablenwert als Teil des neuen Variablennamens erstellen?

  3. touch-Befehlsbeispiele in Linux

  4. touch:Befehl nicht gefunden

  5. wget:Name der heruntergeladenen Datei

Linux Touch-Befehl

Touch-Befehl in Linux (5 Beispiele)

35 Bash-Skriptbeispiele

Erstellen einer temporären Datei vs. Prozesssubstitution vs. Variablenerweiterung?

Finden Sie eine Datei, die mit einem bestimmten Muster übereinstimmt, und geben Sie diesen Dateinamen als Wert an eine Variable im Shell-Skript?

Shebang oder nicht Shebang