LoginSignup
23
20

More than 5 years have passed since last update.

.bash_profileや.bashrcをフラグメントする(.bash.d)

Posted at

Qiitaのどこかで見た気がするのだけど、探しても見つからないので書いておきます。
完全に人のふんどしですが「ナイスアイデア!」と思ったので。。
http://mattintosh.blog.so-net.ne.jp/2012-10-07-4

.bash_profileとか.bashrcってどんどん増えてきますよね?
また、Ansibleとかで.bash_profileに追記をしようと思うとsedを駆使したりしてちょっと面倒くさかったりしますよね?

.bash_profile
# .bash.d fragment
if [ -d "${HOME}/.bash.d" ] ; then
    for f in "${HOME}"/.bash.d/*.sh ; do
        [ -x "$f" ] && . "$f"
    done
    unset f
fi

こう書いておくと、.bash.dの中を順々に読み込みます。

.bash_profile
.bash.d
├── 100_android.sh
├── 200_go.sh
├── 300_ruby.sh
├── 400_node.sh
└── 500_playframework.sh

この方法のメリットは、

  • 見通しが良くなる
  • ファイル名の付け方で読み込み順序を制御できる
  • chmod で +-x することで一時的に読み込まないようにしやすい
  • Ansibleなどでファイルをcopyするだけでいいのでplay-bookが書きやすい

というところです。

デメリットは、

  • インストールスクリプトで.bash_profileを追記するようなものは相性が悪い

というところでしょうか。

23
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
20