Сделать заголовок каталога датой в bash? - PullRequest
7 голосов
/ 20 августа 2011

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

Я пробовал mkdir "date -I", который возвращает мне папку named"date -I" Без кавычек выдает ошибку

mkdir: invalid option -- 'I'

Попытка сделать ее переменной следующей

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 ]

12 голосов
/ 20 августа 2011

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

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

или

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

будет работать

3 голосов
/ 20 августа 2011

Используйте это: обратные команды запускают команду вместо ее распечатки.

mkdir `date -I`
0 голосов
/ 12 января 2014

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

date -I | xargs mkdir
...