Potřebuji vytvořit prázdný soubor pomocí skriptu Shell. Název souboru bude určen prozkoumáním všech souborů v adresáři, který odpovídá vzoru, řekněme TEST.*
a připojením _END
na něj, takže nový soubor může vypadat jako TEST.2011_END
. Aktuální adresář nechť je $DIR
. Tak jsem to zkusil:
for file in $DIR/TEST.*
do
touch $file_END
done
To způsobí chybu. Také jsem zkusil nahradit touch $file_END
s:
filename=$file_END
touch $filename
ale bez štěstí. Co mám dělat?
Přijatá odpověď:
Syntaxe by byla:
filename="${file}_END"
nebo ve vašem kódu
touch "${file}_END"
"
uvozovky nejsou nutné, pokud je $file
neobsahuje žádné mezery ani globovací znaky.
Jak přejmenovat soubory konkrétně v seznamu, který bude Wget používat?
Jak říct Logrotate, aby ignoroval otevřené soubory?