B.Sudhir Ответов: 2

Невозможно выполнить файл из любого места


1. Я пытался запустить баш скрипт из любого каталога в системе. для этого мне нужно сделать его доступным для выполнения в любом месте системы.

2.я также по ошибке добавил неправильный путь, который хотел удалить, но этого не произошло.

Пожалуйста помочь.

Что я уже пробовал:

1.я добавил путь к файлу оболочки в переменную $PATH. В моем случае -
PATH=$PATH:~/bin
И когда я попытался выполнить файл, он говорит:
Цитата:
Нет такого файла или каталога
.

2. Следующая статья - bash-Linux: удалить путь из переменной $PATH-переполнение стека[^] но я не мог удалить в одной строке команду оболочки.

2 Ответов

Рейтинг:
5

Jochen Arndt

Чтобы изменить PATH переменная окружения, которую вы должны экспортировать ( экспорт команда запишет его в среду):

PATH=$PATH:~/bin
export PATH
Без этого экспорт команда, переменная будет установлена только для фактического сеанса оболочки, но не для команд, выполняемых в этом сеансе или других сеансах оболочки.

Самым простым решением было бы сохранить сценарий в каталоге, который уже был найден. В Linux есть каталог для таких скриптов: /usr / local/bin.

Если он должен быть выполнен только тем пользователем, который его создал, добавьте вышесказанное в настройки оболочки для пользователя (~/. bash_profile или ~/.профиль). С удар затем выполните источник команда с конфигурационным файлом в качестве аргумента для применения настроек (или выхода из системы и повторного входа).

Если вы хотите удалить путь, который не был добавлен в глобальные настройки (например, /etc / окружающая среда) и пользовательские настройки (~/. bash_profile или ~/.профиль) просто выйдите из системы и снова войдите. В противном случае отредактируйте эти файлы.


B.Sudhir

Спасибо за решение это очень полезно

Рейтинг:
15

Richard MacCutchan

1. Вы должны использовать абсолютный путь к вашему bin каталог или определенная переменная, например $HOME, а не Тильда (~).

2. Вы должны опубликовать свой вопрос писателю так ответить.


Jochen Arndt

Тильда расширяется до домашнего каталога текущего пользователя, который фактически совпадает с $HOME.

Но вы правы: это должен быть абсолютный путь, если сценарий должен выполняться и другими пользователями.

Richard MacCutchan

И, как обычно, ОП на самом деле не объясняет проблему.

B.Sudhir

Спасибо за решение это очень полезно