ディレクトリ内のすべてのファイルのグローバルエイリアス(ファイル名別)(拡張子は利用可能な場合は省略)

ディレクトリ内のすべてのファイルのグローバルエイリアス(ファイル名別)(拡張子は利用可能な場合は省略)

Ubuntu 16.04では、私のディレクトリにはほぼ10個のファイルがあり、各ファイルにはBashスクリプトファイルが含まれています。

"$HOME"/myScripts/x.sh
"$HOME"/myScripts/y.sh
...

代わりに、次の各ファイルに対してほぼ10個の異なるエイリアスが生成されますbashrc

alias "$HOME"/myScripts/x.sh
alias "$HOME"/myScripts/y.sh
...

"$HOME"/myScripts/そのディレクトリ()へのパスを保持し、各ファイルを実行するためのアクセス権を付与しますが、拡張子なしで「グローバル」エイリアスを作成する方法はありますか.sh

たとえば、コンソールで次を実行します。

x

そして"$HOME"/myScripts/x.sh処刑されるでしょう。

私はこのように直感的ではない名前を使用しませんx。これは単なる例です。

ここで解決しなければならない小さな問題は、多数のエイリアスを保存してメンテナンスを簡素化することです。特定のソフトウェアコンテキスト専用ディレクトリを使用するほど、このアプローチはより便利になると思います。

修正する

結局のところ、私がしたことは、多くのBash関数を含むファイルを作成し、そのファイルをインポートしてからその中にある関数をエクスポートすることでした。

export -f myFunc_0 myFunc_1 ...

これをエクスポートする簡単なグローバル方法があるかもしれませんが、1つもわかりません。

ベストアンサー1

このディレクトリをパスに追加すると、x.shエイリアスなしでどこでも入力できます。

例えば~/.bashrc:

PATH="$PATH:$HOME/myScripts"

拡張子が必要ないので、単にスクリプト名x.shx

mv ~/myScripts/x.sh ~/myScripts/x

または、スクリプト内のパスの場所へのシンボリックリンクを作成し、/usr/local/binリンク名をとして指定することもできますx

ln -s /home/user/myScripts/x.sh /usr/local/bin/x

おすすめ記事