Как правильно использовать .bashrc и запустить приложение? - PullRequest
0 голосов
/ 20 сентября 2019

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

    alias cpanel-run='"$(cd /home/ian/projects/electron/cpanel-linux-x64/)" "$(cpanel)"'

, но отображается только

    bash: ./cpanel: No such file or directory

    Command '' not found, but can be installed with:

    sudo apt install bpfcc-tools   # version 0.8.0-4, or
    sudo apt install mailutils-mh  # version 1:3.5-2build1
    sudo apt install mmh           # version 0.4-2
    sudo apt install nmh           # version 1.7.1-4

1 Ответ

1 голос
/ 20 сентября 2019

Вам действительно нужно находиться в том же каталоге, что и исполняемый файл?Если нет, просто сделайте это:

alias cpanel-run='/home/ian/projects/electron/cpanel-linux-x64/cpanel'

Если вам нужно находиться в том же каталоге, используйте это вместо:

alias cpanel-run='cd /home/ian/projects/electron/cpanel-linux-x64/ && ./cpanel'

(&& указывает оболочке запускатьсяпервая (cd) команда, а затем вторая запускается только в случае успешного выполнения .

Причина, по которой исходная версия не сработала, заключается в том, что вы используете $()ненадо.$() выполняет его содержимое как подпроцесс , собирает выходные данные и использует их как часть командной строки.Итак, ваша версия запускает команду cd, которая успешно переходит в каталог, но, поскольку она запускается как подпроцесс, она не влияет на вашу оболочку или любой другой процесс.Это также не производит никакого вывода.Затем другой $() пытается запустить cpanel (действительно ли это ./cpanel?) В другом подпроцессе , происходит сбой, потому что его нет (выдает первое сообщение об ошибке), а также не выдает никакого вывода,Затем на основе (пустого) вывода этих двух подпроцессов оболочка пытается выполнить команду "" "", которая завершается неудачно, поскольку пустая строка не является допустимой командой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...