プログラムをどこでも実行可能にする方法

プログラムをどこでも実行可能にする方法

現在のディレクトリに関係なく特定のプログラムを実行するにはどうすればよいですか?フォルダ内のプログラムへのシンボリックリンクを作成する必要がありますか/bin

答え1

export PATH=$PATH:</path/to/file>コマンドラインのみを入力すると、セッション全体でのみ持続します。

永久に変更するには、export PATH=$PATH:</path/to/file>~/.bashrc ファイルに追加します(最後のみ)。

答え2

つまり、プログラムを実行するには、ディレクトリが何であれ、検索パスにプログラムディレクトリが必要です。そのパスに既に存在するフォルダにプログラムを配置するか、パスに新しいフォルダを追加することで問題を解決できます。どちらも機能します。最善の答えは次のように異なります。

プログラムはソースコードから直接コンパイルしてダウンロードしましたか?

おそらくすでにマウントメカニズムがあります。プログラムがコンパイルされたフォルダからrootとして "make install"を実行します。

このプログラムは、お使いのコンピュータの標準プログラムの一部として提供されると予想されるダウンロードですか?

これらのアプリケーションを標準フォルダに配置するのは妥当です。これらのプログラムでは、/usr/local/bin などのディレクトリを使用するのが一般的です。これを行うには、root アクセス権が必要です。

これはあなたが自分で書いたプログラムであるか、あなたのコンピュータに対する特別な権限を持っていません。

ホームディレクトリに「bin」というフォルダを作成し、その中にプログラムを置きます。このフォルダにフルパスを追加するには、ログインスクリプトを編集する必要があります(例:/usr/home/jeremy/bin)

検索パスに現在のディレクトリを追加できますが、新しいプログラムごとにこの作業を続ける必要があります。これを行うには、長期的に多くの作業が必要です。

答え3

/binいくつかの理由でディレクトリにファイルリンクを配置するのは最善の方法ではありません。

  • 実際の実行可能ファイルが一部のユーザーが表示または実行できない場所にある場合は、リンクが正しくないか正しく機能しないプログラムと見なされます。
  • この/binディレクトリは、システムを実行するために必要なプログラム(など)用に予約する必要がありchmodますmkdir

実際に実行可能ファイル/usr/bin//usr/local/bin/。 、削除したい場合は手動で削除する必要があります。また、どのパッケージに依存しているのかを知る必要があります(すでにプログラムを使用しているように聞こえるので、この問題は解決されますが、一般的に...)。

他のユーザーが使用したいプログラムを設定している場合を除き、通常これは行われません。ホームディレクトリにbinディレクトリを作成し、シェル設定ファイルを編集して環境変数~/bin/に追加します。PATHインストールされたプログラムはシステムの残りの部分から分離されているので、この方法でインストールされたプログラムを追跡する方が簡単です。

答え4

これを乱すと、誤ってPATH悪意のあるプログラムを実行する可能性があります。標準は、以下の「ローカル」エントリをインストールすることです/usr/local(参照FHS、Unixの使い方を体系化したものです。少し昔ながらですが、基本を提供します。 、/usr/local/bin通常PATH、すべてのユーザーが使用できます。

私の「ローカルインストール」プログラムは$HOME/bin標準ダンスに設定されています./configure --prefix=$HOME ...PATH

関連情報