Я использую ZSH для своей терминальной оболочки, и хотя я написал несколько функций для автоматизации конкретных задач, я никогда не пытался сделать что-либо, что требовало бы функциональности, которой я сейчас пользуюсь.
Недавно я переписал блог, используя Jekyll, и я хочу автоматизировать создание постов в блоге и, наконец, загрузку вновь созданных файлов на мой сервер, используя что-то вроде scp.
Я немного озадачен связыванием / использованием переменных в ZSH; например:
DATE= date +'20%y-%m-%d'
echo $DATE
правильно выводит 2011-08-23, как я и ожидал.
Но когда я пытаюсь:
DATE= date +'20%y-%m-%d'
FILE= "~/path/to/_posts/$DATE-$1.markdown"
echo $FILE
Выводит:
2011-08-23
blog.sh: line 4: ~/path/to/_posts/-.markdown: No such file or directory
И при запуске с тем, что я хотел бы, чтобы заголовок блога был (игнорируя тот факт, что необходимо манипулировать строкой, чтобы сделать ее более удобной для URL, и что маршрут / путь не существует)
т.е. блог "название блога", выходы:
2011-08-23
blog.sh: line 4: ~/path/to/_posts/-blog title.markdown: No such file or directory
Почему $ DATE печатает над вызовом print $ FILE, а не строкой, включаемой в $ FILE?