Я получил исполняемый файл (edit_envir
) в каталоге /home/pshizh/Desktop/
. Я обновил файл /etc/environment
, чтобы включить /home/pshizh/Desktop
в PATH
. Затем я запустил команду edit_envir
в терминале, но он сказал "dit_envir command not found
. Однако после того, как я скопировал файл edit_envir
в /usr/bin/
и снова запустил команду edit_envir
в терминале, все заработало. Зачем? Я очень ценю вашу помощь.
После редактирования файла /etc/environment
, если вы хотите, чтобы изменение вступило в силу, вам необходимо выйти из системы и снова войти в систему или получить этот файл в терминале следующим образом:
source /etc/environment
В любом случае, это не указанный способ для добавления каталога в PATH. В этом смысле смотрите следующий пост:
Не редактируйте файл /etc/environment
!!! отменить изменения и вернуть их в исходное состояние. Ваша система должна работать с несколькими пользователями. Представьте, что вы создаете другого пользователя, скажем, johndoe
. Что будет, когда он войдет в систему? он будет иметь в своей переменной PATH
ваш каталог /home/pshizd/Desktop
. Я уверен, что он не заботится об этом!
Вместо этого измените переменную PATH
из вашего личного файла .bashrc
: добавьте этот фрагмент в конец вашего файла .bashrc
:
PATH=/home/pshizd/Desktop:$PATH
Теперь подождите, ваши собственные сценарии не должны находиться на вашем рабочем столе. Вместо этого создайте каталог bin
в вашем домашнем каталоге, поместите туда свои сценарии и вместо предыдущей команды в файле .bashrc
поместите это:
PATH=$HOME/bin:$PATH
Если вы измените файл .bashrc
], изменения вступят в силу только в новых терминалах.
Теперь, если вы хотите, чтобы этот скрипт был доступен для всех пользователей (например, вы хотите, чтобы johndoe
мог его выполнять, но у него не должно быть доступа к вашему личному каталогу), лучшим место для размещения сценария в /usr/local/bin
. Этот каталог должен уже существовать (создать его при необходимости) и уже должен быть у каждого пользователя PATH
. Проверьте это, проверив файл /etc/profile
(но не изменяйте этот файл!); вы также можете grep
PATH
там, так что (с некоторыми контекстными строками):
grep -C4 PATH /etc/profile
вы должны увидеть, что /usr/local/bin
добавлено в PATH
пользователя.
Кстати, не вводите свои собственные команды в /usr/bin
! Это место для двоичных файлов вашего дистрибутива, а не для ваших личных.
Что касается того, почему он не работал после изменения /etc/environment
: вам нужно открыть новый терминал, чтобы изменения вступили в силу.