Я установил Ubuntu 17.04 и скопировал свои собственные скрипты в ~/bin. Затем я сделал все файлы в этом исполняемом каталоге через chmod. Я дважды проверял в GUI, и файлы исполняемы.
Я проверил файл ~ / .profile и уже содержит следующие строки (которые НЕ прокомментированы):
if [ -d "$HOME/bin" ]; then
PATH="$HOME/bin:$PATH"
fi
Однако, когда я пытаюсь запустить скрипт (в этом каталоге), набрав my-script-name в терминале, я получаю ошибку «command not found», но когда я набираю ~/bin/my-script-name, он работает правильно.
Я смог запустить пользовательские скрипты из каталога ~/bin таким образом в 16.04 LTS, но он не работает для меня в 17.04. Что мне нужно сделать, чтобы сделать эту работу? 17.04 больше не проверяет этот каталог?
Если вы хотите настроить свой путь для выполнения сценариев в сеансе терминала, предпочтительнее поместить объявления Path в ваш файл ~ / .bashrc.
Итак, отредактируйте файл ~ / .bashrc и добавьте в конец этого файла, следующая строка:
export PATH=$PATH:$HOME/bin
или
export PATH=$PATH:~/bin
, поэтому каждый раз, когда вы открываете сеанс терминала, вы должны правильно настроить PATH. в терминальной сессии
Я где-то читал, чтобы попробовать запустить 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, а затем перезагрузка может устранить проблему. Я был бы признателен за любые комментарии или объяснения относительно того, был ли это подходящий курс действий или был случайный случай, который был исправлен путем перезагрузки.
Если вы хотите настроить свой путь для выполнения сценариев в сеансе терминала, предпочтительнее поместить объявления Path в ваш файл ~ / .bashrc.
Итак, отредактируйте файл ~ / .bashrc и добавьте в конец этого файла, следующая строка:
export PATH=$PATH:$HOME/bin
или
export PATH=$PATH:~/bin
, поэтому каждый раз, когда вы открываете сеанс терминала, вы должны правильно настроить PATH. в терминальной сессии
Я где-то читал, чтобы попробовать запустить 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, а затем перезагрузка может устранить проблему. Я был бы признателен за любые комментарии или объяснения относительно того, был ли это подходящий курс действий или был случайный случай, который был исправлен путем перезагрузки.