素振り環境として 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。数値として不一致の場合は、となる
シェルスクリプトは毎度ググりながら何となく書いている。