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
папка и дает текущую минуту как имя.