Сделать название каталога датой в bash?

Я хочу сделать текущую дату в заголовке каталога в /home/chris/Downloads С помощью mkdir и date -I

Я попытался команды mkdir "дата -я" это дает мне папку имени "date-I" без кавычек дает ошибку

mkdir: invalid option -- 'I'

пытается сделать его переменной next

date= date -I
mkdir -p $date

С -p вариант, это выглядело хорошо, но при проверке папка не была создана. удаление -p получает меня ошибка

mkdir: cannot create directory `/home/chris/Downloads/': File exists

и даже указывая на весь путь

date= date -I
mkdir "/home/chris/Downloads/$date"

возвращает мне ту же ошибку, что и раньше

дело не в том, что переменная пуста, я повторил ее, и значение-это то, что я должен ожидать, похоже, что значение не заменяется до создания каталога. Как можно обойти эту проблему? Я запускаю Ubuntu 11.04 (Natty Narwhal), если это дает вам больше информации.

3 ответов


ваш синтаксис неправильный:

mkdir -p /home/chris/downloads/$(date -I)

или

mkdir -p /home/chris/downloads/`date -I`

совместимость


используйте это: backticks запускает команду вместо ее печати.

mkdir `date -I`

также можно попробовать xargs (однако не уверен, что это хорошая практика)

date -I | xargs mkdir