На этот вопрос уже есть ответ:
У меня есть оболочка скрипт для мониторинга локального трафика в моей системе. Теперь я хочу установить его, и хочу запустить его, как другую команду unix
В Ubuntu можно создать папку bin в вашей домашней папке и поместить туда свои пользовательские скрипты. Действительно, ваш ~/.profile
будет содержать следующее:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
После создания папки bin вы должны выйти из системы и снова войти в систему, чтобы /home/$USER/bin
появилось на вашем пути, когда вы введите echo $PATH
. Как только он окажется на вашем пути, вы сможете вызывать там скрипты по имени и выполнять их так же, как и любые другие программы.
Папка bin не требует специальных разрешений, и если вы просто хотите, чтобы ваш пользователь мог выполнять сценарии, введите chmod u+x
, когда вы сделаете их исполняемыми.
Ваш новый вывод echo $PATH
при добавлении папки bin должен быть:
/home/mike/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Вы можете поместить свои скрипты в /usr/local/bin
, но вам нужно будет использовать sudo для копирования их в папку, а затем снова используйте sudo, когда вы хотите отредактировать их там, поэтому я считаю, что наличие папки bin в домашней папке очень удобно и разумно, особенно в однопользовательской системе.
Тем не менее, важно отметить, что если в вашей системе несколько пользователей и вы хотите, чтобы скрипт был доступен для них всех, вам определенно нужно будет поместить его в /usr/local/bin
.
Способ, которым я решил бы это (с моим довольно элементарным навыком linux) - создать псевдоним сценария оболочки.
Сначала убедитесь, что скрипт оболочки является исполняемым.
chmod u+x,g+x script.sh
Затем отредактируйте файл .bashrc
следующим образом:
cd
vi .bashrc
Добавьте это в конец. (Я думаю, вы также можете добавить это в определенный файл псевдонимов, например, .bash_aliases
, но я этого не делаю.)
alias commandtorun='/home/user/script.sh'
Здесь commandtorun
будет командой, которую вы вводите для запуска сценарий, а '/home/user/script.sh'
- это путь к сценарию.
Чтобы сохранить изменения в .bashrc
в редакторе vi, :wq
, который записывает в файл и завершает работу.
Редактировать: Вам также понадобится повторно набрать ваш .bashrc, чтобы использовать изменения в текущем сеансе. (Или просто перезапустите сеанс / закройте и снова откройте терминал).
source ~/.bashrc
Удачи!
Обычное расположение для установки локальных сценариев - /usr/local/bin
или /usr/local/sbin
. См. man hier
для получения подробной информации о структуре каталогов.
Эти каталоги обычно включаются, если в пути находятся соответствующие каталоги /usr/bin
или /usr/sbin
. См. man eviron
для получения информации о стандартных переменных среды, включая PATH.
Иерархия каталогов для многих дистрибутивов является документом на странице руководства наследника. Его можно отобразить с помощью команды man heir
/usr/local/bin
для программ, которые должны запускать все пользователи. Это эквивалентно /bin
и /usr/bin
. Обычно большинство пользователей не имеют их на своем пути.
/usr/local/sbin
для программ, которые используются для системного администрирования. Это эквивалентно /sbin
и /usr/sbin
.