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?