Я сохранил сценарий оболочки в мусорном ведре (созданный мной). Когда я запускаю программу, для предотвращения./для запущения скрипта я должен скопировать сценарий в один из каталогов, указанных переменной ПУТИ. Созданный каталог bin не находится в списке трактов. Так, для добавления к Списку трактов:
export PATH=~/bin:"$PATH"
Но этот каталог не становится сохраненным к Списку трактов. Когда я открываю новое окно терминала, я должен экспортировать его снова для запущения скрипта. Как я могу добавить его к Списку трактов постоянно? Также, если я пытаюсь переместиться, сценарий к существующему ПУТИ перечислил каталог, он говорит что ОТКЛОНЕННОЕ РАЗРЕШЕНИЕ. Я должен переместить его путем становления пользователем root?
Вы можете добавить export PATH=~/bin:"$PATH"
в свой файл ~/.profile
. Добавьте его внизу, сохраните и снова подключитесь к SSH.
В качестве альтернативы, если вы хотите, чтобы это изменение было общесистемным для любого пользователя, вы можете отредактировать путь в /etc/environment
.
Этот работал на меня.
Открывают Ваш .bashrc gedit ~/.bashrc
, текстовый редактор открыт.
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
Вставка это и редактирование .bashrc. После закрытия текстового редактора, source ~/.bashrc
, Если Вы отклонили Разрешение, это означает, что сценарий не находится в формате исполняемых файлов. chmod 755 program_name
Это должно сделать работу. Откройте новый Терминал, и он будет работать.
~/.profile
Добавляет эту строку после всего связанного с $PATH Вара:
export PATH="$PATH:$HOME/your-home-dir-path"
Сохранили файл.
Выходят из системы / Перезапуск.
Добавление этого к Вашему ~/.profile
включают это изменение в терминале и текстовом режиме.
~/bin
или ~/.local/bin
!!! Как уже упомянутый рассматриваемый комментарий, эти местоположения уже включены в ПУТЬ в Ubuntu!
Вы можете просто:
~/bin
). Изменение его permitions, чтобы быть исполняемым файлом с командой:
chmod +x ~/bin/script.sh
Выход из системы / вход в систему. С другой стороны, можно выполниться source ~/.profile
Как уже упомянуто, Ваш ~/.profile должен уже содержать что-то как следующее:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
Однако это кажется, что Вы запускаетесь интерактивный невход в систему оболочка удара (т.е. Вы не соединяетесь по ssh, но запускаете терминал от настольной среды), который не читает ~/.profile, и вместо этого ~/.bashrc читается , как объяснено здесь .
можно изменить ~/.bashrc, чтобы добавить путь или считать ~/.profile для оболочек невхода в систему, как объяснено здесь , но поскольку Jacob упомянул, выходите ли Вы из системы/входите, это не требуется.
Для понимания различия между оболочкой входа в систему и невхода в систему посмотрите этот ответ .
Когда Вы работаете
export PATH=~/bin:"$PATH"
, Вы устанавливаете переменную окружения PATH и экспортируете ее в рабочие родительские терминалы. Это похоже на высказывание "новой переменной ПУТИ, это, распространите слово". Это работает, но после того как Вы перезапускаете свой компьютер, ПУТЬ вернется к настроенному. Для внесения изменения постоянным необходимо будет отредактировать .profile файл на домашней папке. Это обычно имеет это:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
, который включал бы папку $HOME/bin автоматически, если она существует. Но если это не делает можно просто добавить или команды выше, или:
export PATH="$PATH:$HOME/bin"
в файл и эту папку будет включен в ПУТЬ на каждой сессии Вашего пользователя.
Вы должны базироваться полномочия записать в/usr/bin каталоге, но это не необходимо, если Вы изменяете .profile файл.