パスを指定せずに自分のプログラムを実行する方法


11

何かをコンパイルし、次のように実行するとします。

$ /path/to/my/executable/mycmd
Hello World

そのように実行するために何をする必要がありますか

$ mycmd
Hello World 

私のコンピュータのどこから?

回答:


15

あなたが探しているのはPATH環境変数です。プログラムを探す必要がある場所をシェルに伝えます。その変数の現在の値は、次を使用して確認できますecho

echo "$PATH"

今...新しいプログラムを使用したい場合のベストプラクティスは、ディストリビューションのパッケージ管理プログラムを使用してインストールすることです。しかし、この場合、利用可能なソフトウェアパッケージでは提供されないプログラムを扱っていると思います。そのようなプログラムには、2つのオプションがあります。

  1. システムからパッケージからインストールされたファイルをシステムが配置しない場所に、プログラムをシステム全体にインストールします。ほとんどのシステムでは、そのような「安全な」フォルダには/usr/local/bin/andが含ま/opt/bin/れます-これらはすでににあるはずPATHです。(これらのフォルダー内を見て、その中に多くのファイルがある場合は、独自のプログラムを配置するのは間違った場所であり、にリストされてPATHいる他のフォルダーを確認する必要があります。)
  2. PATH変数を変更します。これは、プログラムを保持できる追加のフォルダーを定義し、誰かがあなたに悪意を持っている可能性があるため、安全性が低くなります。

    次のコマンドPATHを使用して、変数を一時的に変更できます

    export PATH="$PATH:/path/to/your/executable"
    

    $PATH 後を 気にする=)、または上記の行を.bashrcファイルに追加して永続的に(あなたがを使用していると仮定してbash)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.