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