はじめに
この記事では、あるディレクトリに格納されたシェルスクリプト全てに対してエイリアスを張るスクリプトを示します。
このスクリプトを読み込むことで、あるディレクトリに存在するシェルスクリプト(例えば"$HOME/.mylib/sh/my_exec.sh")を、my_exec
で実行できるようになります。
スクリプト
前提条件として、MY_SH_DIRにはエイリアスを張りたいshファイルのみ存在するものとします。
拡張子で判別したいとかがある場合はif文を書いてください。
また、.bash_aliasに書いてますが.bashrcとかにべた書きでも構いません。
.bash_alias
# MY_SH_DIR下のshにエイリアスを張る
MY_SH_DIR=$HOME/.mylib/sh # 任意に変更すること
for filename in $( ls $MY_SH_DIR ); do
# 実行権限付与 やらなくてもいいし、細かく設定したいなら任意に設定のこと
chmod +x "${MYLIB_SH_DIR}/${filename}"
# 最長除外でリンクを貼る "a.sh"も、"a.sh.old"も"a"で張りに行く
# 最短除外にする場合は {filename%%.*} を ${filename%.*} とする
alias "${filename%%.*}"="${MYLIB_SH_DIR}/${filename}"
done
.bash_aliasを新しく作成した場合は、.bashrcにtest -r ~/.bash_alias && source ~/.bash_alias
を追加してください。