特定のディレクトリに対してのみエイリアスを定義するにはどうすればいいですか?

特定のディレクトリに対してのみエイリアスを定義するにはどうすればいいですか?

alias iex="iex -S mix"1 つのディレクトリに対してのみ定義したいのですが、このエイリアスは、このディレクトリに ' した場合にのみ機能する必要があります。もう 1 つの要件は、このディレクトリを git リポジトリとして共有したいため、この機能はこのディレクトリ、ファイル、またはその他の場所cdに配置する必要があることです。hook

どうやってやるの?

答え1

あなたがしたい場合iexのみ1つのディレクトリで作業し、一度もない他の場所ではこれを試してください:

alias iex='[ $(pwd) = /path/to/special/dir ] && iex –S mix'

iex他のディレクトリで異なる操作をしたい場合は、次のように試してください。

alias iex='[ $(pwd) = /path/to/special/dir ] && iex –S mix || iex'

答え2

私の現在の開発バージョンの Bourne Shell (bosh) では、6 年前からこの機能が実装されています。man ページを確認してください。

http://schillix.sourceforge.net/man/man1/bosh.1.html

エイリアスはlocal persistent aliasesディレクトリにローカルであり、.locals関連ディレクトリのファイルに保存されるため永続的です。

私はフィードバックに興味があります。特に、 も存在するべきかどうかについてです。.locals.#ここで、# は、それらを使用することを許可されているユーザーのユーザー ID です。

関連情報