2

Наличие программы в /home/user/Downloads/program/main

Я могу запустить его, выполнив команду cd /home/user/Downloads/program && ./main или из графического интерфейса.

Я хочу запустить его из терминала, введя команду main я пытался сделать ln -s /home/user/Downloads/program/main /usr/local/bin или to /bin но это не дало никакого эффекта.

Перед установкой связи я выполнил команду chmod +x .

Это скомпилированная программа, я получаю сообщение об ошибке main: command not found

Что я делаю не так?

3 ответа3

2

Похоже, вам нужно добавить этот каталог в ваш путь. Точная команда для этого зависит от того, какая оболочка используется. Для bash вам понадобится что-то вроде:

export PATH=$PATH:/home/user/Downloads/program/

Объяснение:

  • PATH = $ PATH сохраняет существующий путь как часть нового создаваемого вами пути.
  • Каталог:/home/user/Downloads/program/ добавляет этот каталог к пути (в конце, так что это последнее, что искали).
  • Экспорт помещает путь в оболочку, чтобы он оставался там. Вам может не понадобиться эта часть для одного сеанса. Однако, если вы хотите сохранить это в будущих сеансах входа в систему, вам нужно добавить это в ваш .bashrc (или другой файл, который выполняется при входе в систему).
1

Когда вы добавляете новую программу в путь, вам нужно набрать

rehash

Чтобы это было известно оболочке.

0

В качестве быстрого решения вы можете сделать псевдоним. Добавьте к вам файл ~/.bashrc так:

alias main='/home/user/Downloads/program/./main' 

затем запустите exec bash в вашем терминале, и он должен работать. Если вы не используете bash, то подобное будет работать для других оболочек. Например, запись в файл ~/.zshrc для оболочки zsh .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .