Bashの一時エイリアスのみを一覧表示

Bashの一時エイリアスのみを一覧表示

私は与えられたbashセッションのすべてのエイリアスを一覧表示する方法を知っていますalias -p。特定のbashセッションのすべての一時エイリアス、つまり私のbashプロファイルにないすべてのエイリアスのリストを取得する方法はありますか?

ありがとうございます!

ベストアンサー1

それほど簡単ではありません。 bashには「一時」エイリアスという概念はありません。 bashソース.bashrcを介して実行されるコマンドは、コマンドラインに入力するコマンドと同じです。また、bashプロファイルは特定の状況でのみ特定のエイリアスを定義できます。

bashプロファイルを実行した後、エイリアスセットを変数(またはファイル)に保存し、必要に応じてその変数と現在設定されているエイリアスとの違いを確認できます。

$ BASE_ALIAS="$(alias | sort)"
$ alias tmp_alias=""
$ unalias ls
$ diff <( echo "$BASE_ALIAS" ) <( alias | sort )
3d2
< alias ls='ls --color=auto'
5a5
> alias tmp_alias=''

diff宣言後に別名がls削除され、別名が追加されたことを示します。tmp_aliasBASE_ALIAS

おすすめ記事