Voglio fare la data corrente nel titolo di una directory in /home/chris/Downloads
utilizzando mkdir
e date -I
Rendere il titolo di una directory la data in bash?
ho cercato mkdir "data -I" che mi fa una cartella denominata "data -I" Senza le virgolette dà l'errore
mkdir: invalid option -- 'I'
Cercando di fare una variabile successiva
date= date -I
mkdir -p $date
con l'opzione -p
, sembrava buono, ma dopo l'ispezione, la cartella non è stata creata. rimozione -p
mi ottiene l'errore
mkdir: cannot create directory `/home/chris/Downloads/': File exists
e persino punta alla intero percorso
date= date -I
mkdir "/home/chris/Downloads/$date"
me ottiene lo stesso errore di prima
Non è che la variabile è vuota, mi associo 'd e il valore è quello che dovrei aspettarmi, sembra essere che il valore non viene sostituito prima della creazione della directory. Quale sarebbe il modo per aggirare questo problema? Sto usando Ubuntu 11.04 (Natty Narwhal) se questo ti dà più informazioni.
La soluzione non richiede l'impostazione di una variabile '$ date', ma la sintassi per farlo è disattivata, e non solo a causa dei backtick mancanti o $ (...). In un assegnamento di variabile, non puoi avere spazi prima o dopo '='. 'date = date -I' imposta' $ date' sulla stringa vuota, quindi esegue 'date -I'. È proprio come 'date = foobar date -I' eccetto che' $ date' è impostato sulla stringa vuota piuttosto che su 'foobar'. La sintassi corretta sarebbe 'date = $ (date -I)'. –