端末で実行可能なプログラムのコマンド(名前)をカスタマイズ(変更)する合理的な方法

端末で実行可能なプログラムのコマンド(名前)をカスタマイズ(変更)する合理的な方法

背景

たとえばxfce4-terminalと入力してプログラムを実行したいですterm

入力するとwhich xfce4-terminalが返されます/usr/bin/xfce4-terminal

だから私はシンボリックリンクを作成しました:sudo ln -s /usr/bin/xfce4-terminal /usr/bin/term

今すぐ入力してプログラムを実行できますterm

質問

私はこれが私の目的を達成するための合理的な方法であるかどうか常に疑問に思いました。尋ねる最高方法(研究でさえない)は主観的な問題かもしれませんが、ここでは標準的な方法(ある場合)や私の方法が持つことができる長所と短所を尋ねています。

私は次の代替案を考えました。

  • プログラムの名前を変更する:mv xfce4-terminal term
  • 環境変数を使用してください(ただし、これを行うにはいくつかの方法があります...)
  • まず怠惰を避けてください。

私はすでにそれを知っていました:

  • Tabオートコンプリートを活用できます。
  • Ctrl(GUIから)++などのAltショートカットを使用できます。T
  • 別のプログラム名が「term」の場合、シンボリックリンクを作成すると競合が発生する可能性があります。
  • 名前を変更すると、依存関係が壊れる危険性があります。

環境:

uname --all返品:

  • Linux Debian 4.19.0-18-amd64 #1 SMP
  • Debian 4.19.208-1 (2021-09-29)
  • x86_64 GNU/Linux

ベストアンサー1

最も安全な方法は、エイリアスを使用することです。それらすでにコメントで言及しています。

シンボリックリンクも機能しますが、一部のプログラムでは、呼び出される名前によって動作が変更されることに注意してください。
たとえば、bashスクリプトはコンテンツを調べ、$0それに基づいてさまざまな機能を呼び出します。

プログラムの名前を変更すると問題が発生します。名前を変更した後は
、プログラムが依存するすべてがxfce4-terminal失敗します。次に更新すると、システムに両方のバージョンのバイナリがあります。:-/

おすすめ記事