.zshrc
などの設定ファイルをGitHubで管理している人は多いと思う。けれども複数PC間で使うために、リポジトリをcloneした後に手動でファイルをホームディレクトリに移動させたり、シンボリックリンクを張るのは面倒だ。シェルスクリプトでやってしまおう。
install.sh
# リポジトリがあるpath
DOTFILES=$(cd $(dirname $0); pwd)
# バックアップ用のタイムスタンプ
now=$(date '+%Y%m%d%H%M%S')
cd ~/
function copy_file() {
# すでにファイルが存在する場合はバックアップを作る
if [[ -e $1 ]]; then
# .zshrc_20180314010755 のような名前でバックアップをとる
mv $1 $1_$now
fi
# シンボリックリンクを張る
ln -fs $DOTFILES/$1
}
# 引数にリンクを張りたいファイル名を与えてあげる
copy_file '.gitconfig'
copy_file '.zshrc'
O K 💃