Я установил Ubuntu 17.04 и скопировал мои пользовательские сценарии в ~/bin
. Затем я сделал все файлы в том исполняемом файле каталога, через chmod
. Я перепроверил в GUI, и файлы являются исполняемым файлом.
Я проверил ~/.profile, и он уже содержит следующие строки (которые НЕ комментируются):
if [ -d "$HOME/bin" ]; then
PATH="$HOME/bin:$PATH"
fi
Однако, когда я пытаюсь запустить скрипт (в том каталоге) путем ввода my-script-name
в терминале я получаю "команду, не найденную" ошибка, все же когда я ввожу ~/bin/my-script-name
, затем это работает правильно.
Я смог запустить пользовательские скрипты от ~/bin
каталог таким образом в 16.04 LTS, но это не работает на меня в 17,04. Что я должен сделать для создания этой работы? 17.04 больше не проверяет тот каталог?
~/.profile
автоматически поступает только при входе в систему. Вы должны выйти и снова войти, чтобы изменения вступили в силу.
Вы также можете запустить source ~/.profile
в терминале, но изменения вступят в силу только для этого терминала.
Когда вы запустили exec -l bash
, это открыло оболочку входа в систему, но только в этом терминале.
Я где-то читал, чтобы попытаться запустить exec -l bash
, и это устранило проблему в этом окне терминала, пока оно было открыто. Однако когда я закрыл окно и попытался запустить сценарии в новом окне, у меня снова возникла та же проблема.
В тот момент я попытался перезагрузиться, и проблема была устранена, хотя я действительно не понимаю, почему. Когда я запускаю export | grep $PATH
, я получаю следующее:
declare -x PATH="/home/myusername/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
Так что вполне возможно, что запуск exec -l bash
и перезагрузка могли решить проблему. Я был бы признателен за любые комментарии или объяснения относительно того, был ли это соответствующий курс действий, или это была случайная случайность, которая была исправлена перезагрузкой.
Если Вы хотите настроить свой путь для выполнения сценариев на терминальном сеансе , предпочтительно для помещения объявлений Пути в ~/.bashrc файл.
Так, отредактируйте свой ~/.bashrc файл и добавьте в конце этого файла, следующей строки:
export PATH=$PATH:$HOME/bin
или
export PATH=$PATH:~/bin
поэтому каждый раз Вы открываете терминальный сеанс, у Вас будет ПУТЬ правильно конфигурируемым. Вы не должны будете перезагружать или повторно входить в свою сессию для него!!