На этот вопрос уже есть ответ здесь:
Это может быть повторяющийся вопрос, но я не мог иметь отношения ни к одному из предыдущих ответов. Я в основном хочу запускать свой shell-скрипт из любого места в ubuntu 16.04 (независимо от того, нахожусь ли я в каталоге где находится шелл-скрипт или нет).
Я знаю первый метод, который заключается в том, чтобы поместить сценарий оболочки в каталог / home / user / bin
(который уже установлен в $ PATH
), изменить режим разрешения сценария оболочки и, наконец, сбросьте bash, перезапустив терминал. Таким образом, все работало нормально.
Но, поскольку я хочу научиться настраивать среду самостоятельно, вместо использования / home / user / bin
я хотел бы использовать свой собственный созданный каталог.
Итак, я поместил свой сценарий оболочки во вновь созданный каталог / home / workspace / myproject / bin
и, конечно же, изменил его режим. Затем выполните следующую команду:
echo $PATH
Затем измените переменную $ PATH
следующим образом:
PATH="/echo/command/result:/home/workspace/myproject/bin"
Затем установите среду:
source /etc/environment && export PATH
Но это не работает!
ОБНОВЛЕНИЕ
Я знаю, что также могу сделать это, отредактировав файл ~ / .profile
. Но моя цель - сделать это прямо из терминала, не открывая и не редактируя файл. И вы понимаете, почему использование только двух команд подряд сразу после завершения написания shell-скрипта намного быстрее, не так ли?
Для ясности: я хочу знать, почему не сработал сброс / etc / environment
?
Добавьте это в конец своего ~/.profile
Это проверяет, чтобы видеть, существует ли каталог, и если это делает, затем это добавляет его к существующему пути.
# set PATH so it includes user's private /workspace/myproject/bin if it exists
if [ -d "$HOME/workspace/myproject/bin" ] ; then
PATH="$HOME/workspace/myproject/bin:$PATH"
fi
затем выйдите из системы и войдите в.