Я пытаюсь создать папку, используя:
mkdir $(date +%Y-%m-%d %H%M)
Итак, вы видите пробел между ними, и я знаю, что это не лучшая практика, но я хотел бы заставить ее работать.
Я пытался сбежать из космоса, использовать кавычки, но ничего не получается, и это сводит меня с ума.
Есть идеи, пожалуйста?
Вам нужны кавычки оба вокруг целого $(...)
замена команды (должны быть "двойные кавычки"), а также вокруг аргумента строки формата date
("дважды" или 'единственный' хорошо):
mkdir "$(date '+%Y-%m-%d %H%M')"
Если Вы не заключите в кавычки аргументы, содержащие пробелы (включая замены команды, которые могли бы потенциально иметь пробелы в их результате), то они подвергнутся разделению слова оболочкой, и Вы заканчиваете с несколькими отдельными аргументами вместо одного, который будет интерпретироваться по-другому командой.
Основное различие между "двойными" и 'единственными' кавычками - то, что Вы можете все еще иметь переменное расширение и управлять заменой в двойных кавычках, тогда как одинарные кавычки предотвращают любой вид оценки и заставляют оболочку рассматривать строку буквально как есть.