

Linux bash
Zdravím.
Se snažím ale nějak se nedaří
Bych potřebovál vytvořít proměnnou, kde bude cesta k adresaři + datum a čas
cesta=`date '+%Y-%m-%d %H-%M-%S'`
2019-03-29 07-55-06
Potřebují /dev/shm/data 2019-03-29 07-55-06
Abych mohl vytvořít adresař data 2019-03-29 07-55-06
mkdir $cesta
Děkují.
Děkují.
A ještě toto?
Toto ok
tar -cvf data_zalohy.tar data_zalohy
Bych to potřeboval takto.
data_zalohy 2019-03-29 07-55-06.tar
tar -cvf data_zalohy `date '+%Y-%m-%d %H-%M-%S'`.tar data_zalohy
Úplně stejně jako v předchozím případu.
Pokud nebudeš používat mezery v názvech adresářů a souborů, tak si ušetříš strašnou spoustu problémů.
Misto mezer použivam_
To je ok, ne?
$ tar -cvf data_zalohy_`date '+%Y-%m-%d %H-%M-%S'`.tar data_zalohy
tar: 21-59-52.tar: Funkce stat selhala: Adresář nebo soubor neexistuje
data_zalohy je adresař a ten chcí celý zabalit tak, aby vysledek byl data_zalohy_2019-03-29 07-55-06.tar
Pořád tam jednu mezeru máš.
jedině pak takto ale take špatně
tar -cvf data_zalohy_`date'+%Y-%m-%d %H-%M-%S'`.tar data_zalohy
-bash: date+%Y-%m-%d %H-%M-%S: příkaz nenalezen
Tuhle mezeru jsem nemyslel. Je tam mezera mezi datumem a časem.
A proč to v tom předchozím přikladu nevadí?
cesta="/dev/shm/data `date '+%Y-%m-%d %H-%M-%S'`"
Protože je to celé v uvozovkách.
cesta="data_zalohy_`date '+%Y-%m-%d %H-%M-%S'`.tar"
tar -cvf "$cesta" data_zalohy
Děkují moc za pomoc.