最近、業務中の作業コストをさげるためにLinuxでシェルスクリプトを作成することが増えてきました。
スクリプト作成時当初はスクリプトをたたくだけ喜んでいましたが、慣れてくると、毎回スクリプトを実行するためのパスを記載するのが面倒になりつつあります。
今回はパスを記載せず、スクリプトを実行するためにしたこといくつか記載します。
環境はCentOS7.9です。
まず、以下ファイルを用意しました。
/root/cmd/hoge.sh
echo "hoge"
方法1 .bash_profile 内のexportにパスを追記する。
例
vim .bash_profile
export PATH=$HOME/cmd:$PATH
hoge.shを実行する。
hoge.sh
hoge
方法2 /usr/local/bin 以下にシンボリックリンクを追加する。
例
ln -s ~/cmd/hoge.sh /usr/local/bin/hoge2
hogeを実行する。
hoge2
hoge
いずれも上記の方法はファイルが環境変数$PATH内にパスがあれば、
CUI内でコマンドを探して実行してくれるというルールの上で成り立っているらしいです。
ちなみに
/bin/はシングルモード用(OSが壊れてときとか)
/usr/bin/はシングルモードではないかつ、RPM等のパッケージに入っているコマンド等が収納
/usr/local/binは自作スクリプトなどを置くディレクトリ
なので今は自作スクリプトを主に方法2の方法で採用しています。