~/.*rcへのシンボリックリンクを貼りまくるシェルスクリプト

30分プログラム、その546。~/.*rcへのシンボリックリンクを貼りまくるシェルスクリプトを書いた。
ボクは~/.*rcみたいな設定ファイルを全部gitのレポジトリに突っ込んで、すぐに自分の環境を構築できるようにしている。ただ、.*rcのままだとlsで表示されなくて不便なので、.は取った形でコミットしてある。

$ ls config/dotrc
emacs      hgrc       screenrc   vimrc      zshrc
gitconfig  irssi/     vim/       w3m/

あとは、これにシンボリックリンクを貼るだけで環境構築ができる。

$ cd ~
$ ln -s config/dotrc/emacs .emacs
$ ln -s config/dotrc/w3m .w3m
...

ただ、最近は数が増えて面倒になってきたので、シェルスクリプトを書いて自動化してみた。

使い方

$ cd ~
$ ./dotrc c/config/dotrc/*
.emacs -> c/config/dotrc/emacs
.gitconfig -> c/config/dotrc/gitconfig
.hgrc -> c/config/dotrc/hgrc
.irssi/irssi -> c/config/dotrc/irssi
.screenrc -> c/config/dotrc/screenrc
.vim/vim -> c/config/dotrc/vim
.vimrc -> c/config/dotrc/vimrc
.w3m/w3m -> c/config/dotrc/w3m
.zshrc -> c/config/dotrc/zshrc

ソースコード

#!/bin/sh
for src in $@; do
    dest=.$(basename $src)
    ln -svf $src $dest
done