ひとつ別の話題を挟みましたが、第3回のhugo関連スクリプト記事の予告どおり、今回は、その他たまに使うスクリプトと hugo環境のメンテナンスをおこなうためのスクリプトをご紹介します。
今回のスクリプト
#!/bin/bash
# 環境変数:hugoの作業ディレクトリ
readonly HUGO_DIR="/mnt/c/《自分なりのPath》"
# 環境変数:同期に使用する.htaccessファイル
readonly HTACCESS_NAME="20180612.htaccess"
if cd "$HUGO_DIR"; then
:
else
echo "存在しないディレクトリがhugoの作業ディレクトリに指定されています。"
exit
fi
echo -n "hugoの作業
1. シンク(.htaccess)
2. メンテナンスメニュー
3. キャンセル
選択(1-3):"
read -r choice_to_do
case $choice_to_do in
[1]* )
rsync -avz --update --chmod=0604 ${HUGO_DIR}/htaccess/${HTACCESS_NAME} {ユーザ名}@{サーバアドレス}:{ホストのディレクトリ}.htaccess
;;
[2]* )
echo -n "
メンテナンスメニュー
a. WSL環境のアップデート
b. hugoのインストール
c. キャンセル
選択(a-c):"
read -r select_method
case $select_method in
[aA]* )
sudo apt update
sudo apt upgrade
;;</br>[bB]* )
echo -n "ダウンロードするhugoのバージョンを入力
参考URL:https://github.com/gohugoio/hugo/releases
0.xx.x 形式で入力:"
read -r hugo_version
wget "https://github.com/gohugoio/hugo/releases/download/v${hugo_version}/hugo_${hugo_version}_Linux-64bit.deb"
sudo dpkg -i hugo*.deb
rm hugo*.deb
;;</br>[cC]* )
exit
;;
esac
;;
[3]* )
exit
;;
esac
.htaccessファイルの同期
基本的にいじることが少ないのと、他のファイルとパーミッションが異なるので、別に管理しています。基本的な書き方は、前回説明したとおり。今回の場合 --delete
と --exclude=
オプションを外し、パーミッションを604に指定、フォルダではなくファイルを指定して同期させてます。
rsync -avz --update --chmod=0604 ${HUGO_DIR}/htaccess/${HTACCESS_NAME} {ユーザ名}@{サーバアドレス}:{ホストのディレクトリ}.htaccess
メンテナンスメニュー
メンテナンスメニューでは、WSL環境のアップデートと hugoのインストールを実行できるようにしています。
WSL環境のアップデートは、普通にWSL環境の更新です。
hugoのインストールについては、バージョンごとの機能の違いを確認することがあるので、結構使います。バージョンを指定して、ファイルをダウンロード、インストールしたら、ファイルを削除、という流れです。
次回は、ここまで4回に分けて紹介してきたスクリプトをまとめて、ひとつのスクリプトにしたものを紹介します。手抜き総集編みたいなもんです。
コメント
コメントなどありましたら、GitHubのディスカッションへお願いします。(書き込みには、GitHubのアカウントが必要です)