Рейтинг:1

Открытие части программного обеспечения из любого места

флаг br

У меня есть скомпилированная программа в определенной папке, к которой я хотел бы получить доступ из любого места без необходимости записи ./путь/к/файлу/каждому/времени/имя_приложения. Например, исполняемый файл приложения установлен в этом ./путь/к/файлу/каждому/времени/имя_приложения путь, и я хотел бы иметь возможность открыть его, написав Имя приложения в командной строке и не более того. Как я мог это сделать?

Рейтинг:1
флаг in

Создайте скрипт (от имени root) с именем /usr/local/bin/имя_приложения и поместите это внутри него:

#!/бин/баш

/путь/к/файлу/имя_приложения $@

Затем сделайте скрипт исполняемым:

sudo chmod +x /usr/local/bin/имя_приложения
vanadium avatar
флаг cn
Лучше также объяснить, почему и как это работает. Вы также можете завершить ответ, добавив еще одну опцию, то есть поместить символическую ссылку на исполняемый файл в `/usr/local/bin`. Кроме того, стоит упомянуть возможность использования ~/bin или ~/.local/bin, если доступ нужен только текущему пользователю — в этом случае root-доступ не требуется.
Kristopher Ives avatar
флаг in
`~/.bin` и тому подобное не находятся в `$PATH` по умолчанию, так что это более глубокая кроличья нора. Есть и другие проблемы с символическими ссылками. Это решение работает везде, независимо от этих проблем, а также позволяет вам делать более гибкие вещи, такие как добавление аргументов по умолчанию или запуск более сложных составных команд.
vanadium avatar
флаг cn
.bin автоматически включается в путь, если он существует в Ubuntu, поэтому там нет никакой дыры. В попытках сделать все как root есть больше кроличьих дыр. С симлинками проблем будет не больше, чем с вашим подходом. Если приложение требует, чтобы вы запускались в определенной папке или заранее задавали среду, то действительно сценарий-оболочка — это то, что вам нужно.
Kristopher Ives avatar
флаг in
Неа. Путь по умолчанию для 20.04 LTS: `/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games: /привязать/бин`
vanadium avatar
флаг cn
Тогда у вас должна быть другая версия Linux, или вы используете другую оболочку.
Kristopher Ives avatar
флаг in
Неа. Это значения `$PATH` по умолчанию, см. https://askubuntu.com/questions/386629/what-are-the-default-path-values.
Zanna avatar
флаг kr
`~/bin` добавляется к PATH тогда и только тогда, когда он существует (как говорит ванадий). Вы можете найти код, который добавляет его в `~/.profile`
Рейтинг:0
флаг jp

Создайте псевдоним для вашей программы в .bashrc файл.

нано ~/.bashrc

В конце файла введите строку:

псевдоним app_name=/путь/к/файлу/каждое/время/имя_приложения

Тогда сохраните (CTRL+О тогда Войти) и выйти (CTRL+Икс).

Вы сможете использовать псевдоним в новых открытых окнах терминала.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.