私はC ++でプログラムをコンパイル、リンク、作成しました。
foobar.out
私はそれをbinディレクトリに入れて、システム全体のコマンドのように使用できるようにしたいです。
ssh, echo, bash, cd...
どうすればいいですか?
ベストアンサー1
パスを指定せずにバイナリを実行するには2つの方法があります(絶対パスを使用して実行するためのエイリアスやシェル関数の生成は含まれません)。
- にコピーしてください
$PATH
。 - そのディレクトリを
$PATH
。
たとえば、パスのディレクトリにファイルをコピーするには/usr/local/bin
、ローカルに管理されているソフトウェアはどこに配置する必要がありますか?)、スーパーユーザー権限が必要です。これは通常、次のことを意味しますsudo
。
$ sudo cp -i mybinary /usr/local/bin
ターゲットディレクトリの既存のファイルを上書きしないように注意する必要があります(-i
ここで追加しました)。
にディレクトリを追加するには、$PATH
ファイルに次の行を追加します~/.bashrc
(そのファイルを使用している場合bash
)。
PATH="$HOME/bin:$PATH"
...バイナリが$HOME/bin
。
これの利点は、スーパーユーザー権限を必要とせず、コンピュータの基本システムで何も変更/追加する必要がないことです。バイナリをbin
ホームディレクトリ内のディレクトリに移動するだけです。
変更は.bashrc
次回ファイルを取得するときに有効になります。source ~/.bashrc
新しい端末を開いたり、ログアウトしてから再度ログインしたり、手動で実行した場合に適用されます。