bash端末のコマンドを使用して$ PATHにパスを追加できることを知っていますPATH=$PATH:foo
。また、次のコマンドを使用してbashのエイリアスを作成できることもわかっていますが、alias a=b
bashのエイリアスはグローバルエイリアスではなく、一部のツールでは見つかりません。ツールは検索パスの依存関係のもう一つのツールです。)
それでは、他のコマンドラインツールが簡単に検索できるように、パスに異なる名前のエントリを追加するにはどうすればよいですか?私の問題について少なくとも3つの用途を考えることができます。 [g ++ 9はデフォルト値(代替アップデートで解決可能)、Python 3は2ではなくデフォルト値です]ですが、インストールしようとすると主な質問が表示されます。バーゼリスクbazelはtensorflow
ソース設定を介して構築する必要があるため、bazel
デフォルトディレクトリにインストールした情報は次のとおりですbazel
。go
~/go/bin/bazelisk
ベストアンサー1
これは2つのステップで実行できます。
- パスが「エイリアス」を提供したいディレクトリから始まることを確認してください。たとえば、ディレクトリ
bin/
内のディレクトリを使用できます$HOME
。
export PATH=$HOME/bin:$PATH
- 次のように、別名をそのディレクトリに配置します。シンボリックリンク。たとえば、
python
別名を作成するには、python3
次のようにします。
ln -s $(which python3) $HOME/bin/python
メモ:
- これを行う必要はありません
root
。 - これを行うときは注意してください。
ln -s /bin/cat $HOME/bin/ls
隣人と会話したり、お茶を魚と呼ぶなど、「不思議な」ことをすることは逆効果を生み出すことができます。 - 「エイリアス」ディレクトリには特別な名前は必要ありません。ここでは、新しい概念を考案するのではなく、
$PATH
動作原理を直接使用しています。 - 「エイリアス」ディレクトリが最後の場合は機能しません
$PATH
。まずなければなりません。 - 誤った動作:エイリアスを
which
印刷し、パスなしで組み込みシェルを印刷し、シンボリックリンクを作成できない場合は、成功した場合にエラー結果を提供し、確実に空の文字列を返し、終了ステータスを設定しますcommand -v
。シェルスクリプトが.を使用するか、またはを使用して失敗することを許可します。エイリアスとシェルの組み込み機能を使用すると、誤った結果が発生します。command -v
which
1
if alias=$(which python3) ; then ln -s $alias ~/bin/python ; fi
set -e; alias=$(which python3); ln -s $alias ~/bin/python
command -v