PATHに個別のバイナリを追加する

PATHに個別のバイナリを追加する

たぶんこれはWSLの問題かもしれませんが、この場合どこに尋ねるべきかわかりません。

pathに追加したいバイナリファイルがあります~/.scry/bin/scry。だから行って~/.bashrc追加しました。

export PATH="$HOME/.scry/bin/scry:$PATH"

そのフォルダを追加したくない理由は、~/.scry/binパスに望ましくない他のバイナリがあるためです。

私はこれをし、次を実行しました。

~$ . .bashrc

scryしかし、(バイナリ)実行するとcommand not foundエラーが発生します。コンソールを再起動し(Ctrl+ D)、もう一度開いてみました(debian)。しかし、まだコマンドを認識していません。

どうすればいいのか分かりません。助けてください。

答え1

hash -p "$HOME"/.scry/bin/scry scry

上記の内容をファイルに追加すると、.bashrcインタラクティブシェルscry"$HOME"/.scry/bin/scry

同様の操作を実行する別の方法には、エイリアスを作成することがあります。

alias scry="$HOME"/.scry/bin/scry

またはシェル機能

scry () {
    "$HOME"/.scry/bin/scry "$@"
}

このPATH変数には:区切りリストが含まれています。目次まだ使用されていないコマンドが与えられたときにこのコマンドを検索します。したがって、ユーティリティのパス名をPATH変数に追加しても、実際には何もしません。

答え2

これはうまくいきません。パスは、PATH実行ファイルか他の種類のファイルであるかに関係なく、コマンドの前に追加されるディレクトリとして処理されます。

簡単な解決策は、別の場所にディレクトリを作成し、そこにバイナリへのシンボリックリンクを作成してから、そのディレクトリを次に追加することですPATH

mkdir ~/my-bin
ln -s ~/.scry/bin/scry ~/my-bin
PATH=$PATH:~/my-bin

関連情報