環境を追加してその環境でプログラムを実行しようとしたときにPATHが機能しないのはなぜですか?

環境を追加してその環境でプログラムを実行しようとしたときにPATHが機能しないのはなぜですか?

cow以下にプログラムを配置し、追加して/opt.bashrcを編集しました。

export PATH=“$PATH:/opt” 

今$ PATHは/opt

cowしかし、自分で実行したいとき

$ cow
The program 'cow' is currently not installed. You can install it by typing:
sudo apt-get install fl-cow

まだ走らなければなりません/opt/cow

何が問題なの?

答え1

私が見るには間違ったタイプの引用符("")と("")を使用しているようです。

echo $PATH
/home/anon/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
sudo bash -c 'echo \$0 this is a test' >/opt/test.sh;sudo chmod +x /opt/test.sh
anon@masterbox:~$ export PATH=“$PATH:/opt”
anon@masterbox:~$ test.sh
bash: test.sh: command not found
anon@masterbox:~$ . .bashrc
anon@masterbox:~$ export PATH="$PATH:/opt"
anon@masterbox:~$ test.sh
/opt/test.sh this is a test
anon@masterbox:~$ 

編集:ここで問題をより明確にするために、私が望む方法で行うと何が起こるのかを確認してください。

$ echo $PATH
# this is correct
/home/anon/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
$ export PATH=“$PATH:/opt” 
$ echo $PATH
# this is incorrect
“/home/anon/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/opt”
$ 

BashはこのようにPATH変数を正しく解釈できません。 Unicode引用符は、UNIXシステムではこのようには機能しません。これがあなたの質問に答えることを願っています。

答え2

私には$ PATHを定義できるファイルセットが2つあります。
1. ~/.profile、~/.bashrc、およびそれに対応する/etcファイルなどの
bash
ファイル
次のいずれかの場所で使用するコマンドを作成することをお勧めします。~ファイルがあるホームディレクトリを使用しているユーザーにのみ適用されます。
たとえば、Robertus ユーザーのように ~/.bashrc にルートを作成する場合、ルートに変更すると、ルートは自分の ~/.bashrc と co に沿ってルート 1 に変更されます。

私の答えが役に立ったことを願っています。

答え3

以下を実行すると牛は機能しますか /opt/cow?それ以外の場合は、「cow」ファイルのモードを確認してください。実行ビットを設定する必要があります。そうでない場合は、次を使用します。chmod +x /opt/cow

関連情報