почему PATH не работает, когда я добавляю env в него и хочу запустить программу под env?

Я положил программу cow under /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

что не так?

Похоже, вы используете неправильный тип цитат ("") vs (""):

 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-системах. Надеюсь, что это ответ на ваш вопрос.

Для меня есть две группы файлов, в которых вы можете определить $ PATH:
1. Файлы bash, такие как ~ / .profile, ~ / .bashrc и их / etc-эквиваленты
2. / etc / enviroment и ~ / .pam_environment
Эти места являются глобальными для всех пользователей, а некоторые из них специфичны для пользователя.
Я рекомендую вам написать команду, которую вы использовали в одном из этих мест, помня, что файлы с ~ работают только с пользователем, который использует домашний каталог, где находится файл.
Слишком помните, что если вы пишете путь, например, ~ / .bashrc, например, пользователь Robertus, если вы измените его на root, путь изменится на root, следуя его собственному ~ / .bashrc и компании.

Надеюсь, вы нашли мой ответ полезным

Работает ли корова, если вы запускаете ее как: /opt/cow ? Если нет, проверьте режим файла «корова»; он должен иметь установленный бит бит. Если это не так, используйте: chmod +x /opt/cow