“команда, не найденная” для сценариев в ~ / мусорное ведро

Я установил 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 больше не проверяет тот каталог?

0
задан 25 August 2017 в 21:41

3 ответа

~/.profile автоматически поступает только при входе в систему. Вы должны выйти и снова войти, чтобы изменения вступили в силу.

Вы также можете запустить source ~/.profile в терминале, но изменения вступят в силу только для этого терминала.

Когда вы запустили exec -l bash, это открыло оболочку входа в систему, но только в этом терминале.

3
ответ дан 2 November 2019 в 09:08

Я где-то читал, чтобы попытаться запустить 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 и перезагрузка могли решить проблему. Я был бы признателен за любые комментарии или объяснения относительно того, был ли это соответствующий курс действий, или это была случайная случайность, которая была исправлена ​​перезагрузкой.

0
ответ дан 2 November 2019 в 09:08

Если Вы хотите настроить свой путь для выполнения сценариев на терминальном сеансе , предпочтительно для помещения объявлений Пути в ~/.bashrc файл.

Так, отредактируйте свой ~/.bashrc файл и добавьте в конце этого файла, следующей строки:

export PATH=$PATH:$HOME/bin

или

export PATH=$PATH:~/bin

поэтому каждый раз Вы открываете терминальный сеанс, у Вас будет ПУТЬ правильно конфигурируемым. Вы не должны будете перезагружать или повторно входить в свою сессию для него!!

0
ответ дан 2 November 2019 в 09:08

Другие вопросы по тегам:

Похожие вопросы: