簡単なコマンドのエイリアシングとエクスポート

簡単なコマンドのエイリアシングとエクスポート

このような単純なコマンドの場合、lessエイリアスを作成する方が良いですか、それともエクスポートオプションを作成する方が良いですか?他よりも利点はありますか?

lessたとえば、常に-R元の文字を表示するオプションを使用したい場合は、両方のソリューションが機能します。

  1. export LESS='-R'
  2. alias less='less -R'

このような単純なケースに対して他のものよりも利点はありますか?ある状況は問題を引き起こし、他の状況は問題を引き起こさない状況がありますか?

いくつかのinfoページを読んでman検索してみましたが、まだこの部分にとどまっています。

答え1

2つの違いの1つは、エイリアスは単にシェル機能にすぎないということです。環境変数は、意図的に消去されない限り、すべての子プロセスによって継承されます。

lesstcshman他のシェル(たとえば)、、、vimなどを介して間接的に実行されても、psql環境変数が機能する可能性が高くなります。

答え2

多くは使用するツールによって異なります。一部のツールでは、どちらか一方しか使用できませんが、他のツールは1つしか使用できません。

いくつかのコマンドは他のコマンドによって呼び出され、環境変数を読み取って同じスイッチを受け入れますが、すべてのコマンドに同じスイッチを追加するのは面倒でコンパイラのようにmake環境変数が輝く場所です。変数を設定してから忘れてください。もう1つの利点は一時的なものであり、単一のコマンドに適用できることです。

結論は、好みや仕事に最適なものが何であるかという問題です。場合によっては、エイリアスを設定することは環境変数よりも簡単で永続的であり、時には環境変数と同じように機能するツールセットが必要な場合があります。

関連情報