Мне нравится иметь скрипт, который будет заполнять передний план, когда я пишу новые сообщения в блоге В прошлом я делал это, используя Bash, как показано ниже.
#!/bin/bash
# Set some variables
export site_path=~/Documents/Blog
drafts_path=~/Documents/Blog/_drafts
title="$1"
# Create the filename
title=$(awk '{print tolower($0)}' <<<"$title")
filename="$title.markdown"
file_path="$drafts_path/$filename"
echo "File path: $file_path"
# Create the file, Add metadata fields
cat >"$file_path" <<EOL
---
title: "$title"
layout: post
tags:
---
EOL
# Open the file in BBEdit
bbedit "$file_path"
exit 0
Хотя это не самый хороший код, он делает свою работу. Поскольку я переместил свои другие сценарии на использование Make, я бы хотел сделать то же самое здесь. Здесь раздел моего Makefile, где я определил правило draft
. Я думаю, что я избежал всех переменных, но он все еще не будет работать. Может кто-нибудь объяснить, где я могу пойти не так?
SITE_PATH=~/Documents/Blog \
DRAFTS_PATH=~/Documents/Blog/_drafts \
TITLE="$$1" \
TITLE="$$(awk '{print tolower($$0)}' <<<"$$TITLE")" \
FILENAME="$$TITLE.markdown" \
FILE_PATH="${DRAFTS_PATH}/$$FILENAME" \
FILE_PATH="$${FILE_PATH}" \
cat >"$${FILE_PATH}" <<EOL \
--- \
title: "$$title" \
layout: post \
tags: \
--- \
EOL \
# Open the file in BBEdit
bbedit "$${FILE_PATH}" \
exit 0
Обновление : Для справки полный Makefile - здесь , где draft
просто выполняет оригинальный сценарий оболочки.