I log …

.bashrcを使いこなしたい

目次

  1. .bashrcとは
  2. たとえばこんな関数
  3. 条件分岐も使える
  4. 注意!

 最近.bashrcの関数機能を知って感動したので、備忘録として残しておく。

.bashrcとは

 シェル(bash)の設定ファイルで、ターミナルを開くたびに自動で読み込まれる。環境変数の設定やエイリアスの定義、そして関数の定義ができるアレのこと。

 よく使うのは環境変数の追加先ですよね。bashを開いてこんな感じのことを打つ! っていう説明とかをよく見かける。ただ、bashで打つだけで終わってしまうけど。
 この設定したものがどこに記載されているかというと、~/.bashrcなのだ。

 私が最近知った関数は、bashで動く関数なのでJSとかの関数よりも独自コマンドっぽい印象を受けた。

 関数の定義方法。

  1. .bashrcに関数を書く
  2. source ~/.bashrcをbashでたたき、.bashrcの変更を反映する

たとえばこんな関数

 ディレクトリを作成して、移動。普通だったら、mkdir xxして、cd xxと2ステップになる。

 この関数を登録すれば、mkcd xxの1ステップでディレクトリ作成&移動ができる。

条件分岐も使える

 会社ではあまり同意を得られなかったのだが、案件によってパッケージマネージャーがnpmなのかyarnなのかpnpmなのかバラバラだったりして、迂闊なのでyarn.lockを目にしているのにnpm iしてロックファイルを増やしちゃったりすることがまれによくある。
 なので、もう己の目と頭は信用しない。bashに勝手に判定してもらいたい!というときにこの関数。

 これはパッケージマネージャーは3つだけど、もちろんもっと増やせる。(複数のロックファイルは考慮していない)

注意!

 関数の命名は慎重に!
 testとかやると、それはそれは大変なことが起こるよ!(起こった)