素振り環境として package.json の用意と Git 管理を一気に始めるシェルスクリプト
普段、npm パッケージを使った素振り環境を作るために、
mkdir
してcd
して、npm init -y
してpackage.json
を調整して、git init
して.gitignore
を作って、git commit --allow-empty
で初回コミットを打つ、
みたいなことをやっているのだが、コレをシェルスクリプトでコマンド化した。
#!/bin/bash
# npm・Git を揃えた素振り環境を作る
# 引数チェック
if [ $# -ne 1 ]; then
echo '引数でディレクトリ名を指定してください・処理を中止します'
exit 1
fi
DIRECTORY_NAME="$1"
# ディレクトリの存在チェック
if [ -d "$DIRECTORY_NAME" ]; then
echo '指定のディレクトリが既に存在します・処理を中止します'
exit 1
fi
# ディレクトリを作成して移動する
mkdir "$DIRECTORY_NAME"
cd "$DIRECTORY_NAME"
# npm init
cat << EOF > package.json
{
"name": "$DIRECTORY_NAME",
"version": "0.0.0",
"private": true,
"main": "index.js",
"scripts": {
"start": "node index.js"
}
}
EOF
# git init
git init > /dev/null
# オレオレ .gitignore の準備
cat << EOF > .gitignore
.DS_Store
Thumbs.db
*.log
node_modules/
EOF
# 初回コミット
git add .
git commit -m 'Init' > /dev/null
# 完了
echo "Finished"
このコードを create_practice_directory
みたいな名前で PATH の通っているところに保存し、実行権限を付けてやる。
僕は ~/.bash_profile
にて、ユーザホーム直下に作った ~/bin/
ディレクトリを PATH に追加しているので、自作コマンドはココに置くことにしている。
# ~/.bash_profile で以下のように PATH を追加している
export PATH="~/bin:$PATH"
# 実際のところ、ツールによってはチルダ「~」を上手く解釈してくれないことがあるので、以下のようにフルパスを指定している (コレは Mac の場合)
export PATH="/Users/Neo/bin:$PATH"
# 作成したファイルに実行権限をつける
$ chmod +x ~/bin/create_practice_directory
あとは引数でディレクトリ名を指定すれば、カレントディレクトリ配下に作業ディレクトリが作成される。
# 「electron-practice」ディレクトリを作る
$ create_practice_directory electron-practice
Finished
package.json
と .gitignore
の内容は、自分好みに変更している。npm init -y
だとちょっと不要なゴミが入るので、ヒアドキュメントでファイル生成することにした。
Git の初回コミットは何のファイルも含みたくない、という場合は、git add
せずに git commit --allow-empty -m 'Init'
としてやればよいだろう。
あとはお好みで、作業完了後に open .
(MacOS) もしくは start .
(Windows GitBash) を実行してやれば、作成した作業ディレクトリが開く。
Bash の条件文で使う記号の類がなかなか覚えられない。
-d "【ディレクトリ名】
で当該ディレクトリの存在チェック。! -d 【ディレクトリ名】
とすれば、「ディレクトリが存在しない場合は」となる【数字 A】 -ne 【数字 B】
で Not Equal。数値として不一致の場合は、となる
シェルスクリプトは毎度ググりながら何となく書いている。