ログイン時にパスが設定されていません。 bashが正しくロードされていませんか?

ログイン時にパスが設定されていません。 bashが正しくロードされていませんか?

virtualenvのためかどうかはわかりませんが、tensorflow環境を設定するためにvirtualenvコマンドを実行してみました。これでパスはまったくロードされません。何も動作しません。基本コマンド(例ls:)を実行するには、スクリプト全体()を実行する必要があります/bin/ls。すべてのパスのエクスポートを手動で実行しないと、何もできません。

$ export PATH=/bin/:$PATH

など。

ログアウトしてからSSH経由で再度ログインした後、何も読み込まれません。

興味深いことに.bashrc、両方とも.bash_profileロードされます(ただし、特定のコマンド(たとえば)を実行できないため、正常にロードされませんsource)。また、このコンピュータにはルートアクセス権がないため、グローバルに何も変更(または中断)できません。

また、「無効化」が機能しないため、virtualenvを終了できません。

私は何を壊したのですか?

ベストアンサー1

$PATH代わりに変数をオーバーライドした可能性があります。延長するそれ。

シェルの開始ファイルの 1 つに、次の割り当てがある可能性があります。

PATH="/some/path"

変える

PATH="/some/path:$PATH"

あなたがどこに割り当てられたかを調べ、PATH彼らが決して割り当てられないようにしてください。変える $PATHしかし、延長するそれ:

/usr/bin/grep 'PATH=' ~/.bash*

質問がすぐに見つからない場合は、このファイルの関連スニペットで回答を更新してください。

シェルスクリプトでエラーを修正する前の回避策として、/etc/profileほとんどのLinux / BSDディストリビューションでシステム全体が定義されている場所を確認できます。$PATH走る

`export PATH="/usr/bin:/usr/local/bin:$HOME/bin"`

これにより、標準の場所にインストールされているすべてのツールにアクセスできます。

virtualenvの重要な点は、プロジェクトごとに環境を定義できることです。いいえ環境固有のコードでシェルの起動ファイルを複雑にします。関連するすべてのインストールスクリプトを削除(コメント)し、ツールを使用してvirtualenv各ディレクトリの環境を作成/更新します。

おすすめ記事