mkdir с именем даты?

Могу ли я создать в Linux оболочку каталога, но имя будет строкой, возвращенной из другой программы? И если я могу, как?

В частности, меня просят создать новый каталог в моем доме, и его имя будет минутой на часах моего компьютера. Давайте предположим /home/john/01/, 01 это минуты на моих часах.

Я думал что-то вроде трубопровода date +"%M" | mkdir но я не знаю, как я собираюсь положить этот возвращенный номер в mkdir программа.

Наконец мне пришла в голову другая идея, что-то вроде этого mkdir (date +"%M") но это тоже ошибка. Любая помощь, пожалуйста?

4 ответа

Решение

Концепция, которую вы ищете, это подстановка команд, которая использует синтаксис $(command)

mkdir /home/john/$(date +%M)

Вы также можете увидеть более старый синтаксис 'backtick', `command`

mkdir $(date +%Y%m%d) или я лично использую mkdir $(date +%Y%m%d_%H%M%S) для чч: мм: сс. date --help даст вам разные форматы, если вам нужно что-то большее.

Вы можете сделать это легко, используя следующую команду:

$ min=$(date +"+%M"); mkdir $min

Вы можете сделать это, введя следующую команду:

mkdir ~/$(date | awk -F':' '{print $2}')

Команда создает каталог в home папка и дает текущую минуту как имя.

Другие вопросы по тегам