./орел выполняется, однако 'колотят орла', не делает

После загрузки Орла 7.6, я хотел добавить псевдоним к нему. Даже при том, что ./eagle открывает приложение, bash eagle результаты cannot execute binary file ошибка. Я попробовал chmod +x eagle но это не помогло. Загруженная версия является версией на 64 бита.

Псевдоним, который я создал, следующие:

alias eagle='bash /home/metin/eagle-7.6.0/bin/eagle'

В случае, если Вы задаетесь вопросом, вот uname -a вывод:

Linux mettinoktay 4.4.0-34-generic #53-Ubuntu SMP Wed Jul 27 16:06:39 UTC
2016 x86_64 x86_64 x86_64 GNU/Linux

Заранее спасибо.

3
задан 13 August 2016 в 16:42

2 ответа

Поэтому eagle скомпилированный исполняемый файл, не сценарий удара. Вы запутываетесь, потому что Вы часто видите bash ./script предложенный в качестве способа запустить скрипт удара сохраняется в текстовом файле script. Например:

$ cat foo.sh
echo "hello!"
$ bash ./foo.sh
hello!

Так, команда bash ./foo.sh на самом деле означает "выполненный bash и попросите, чтобы это выполнило команды, найденные в файле foo.sh". Однако двоичные исполняемые файлы не являются сценариями оболочки, они не список простых команд и не могут быть выполнены тот путь. Например, при попытке работать ls двоичное использование bash:

$ bash /bin/ls
/bin/ls: /bin/ls: cannot execute binary file

Это bash сообщение Вам, это не может выполнить эту вещь, которую Вы сказали этому выполнять, потому что это - двоичный файл и не текстовый файл, содержащий сценарий.

Так, для решения проблемы просто удалите bash от Вашего псевдонима и, вместо этого, укажите на него на фактическое местоположение eagle исполняемый файл:

alias eagle='/home/metin/eagle-7.6.0/bin/eagle'

С другой стороны, добавьте /home/metin/eagle-7.6.0/bin/ к Вашему $PATH путем добавления этой строки к Вашему ~/.bashrc:

PATH="$PATH:/home/metin/eagle-7.6.0/bin/"

Это позволит Вам выполнить любые исполняемые файлы в /home/metin/eagle-7.6.0/bin/ по имени (путем выполнения eagle в этом случае) точно так же, как Вы делаете с любыми другими исполняемыми файлами такой как bash самостоятельно, или ls.

20
ответ дан 1 December 2019 в 12:52

bash должен быть удален из псевдонима, который является:

alias eagle='/home/metin/eagle-7.6.0/bin/eagle'

@doug решил эту проблему о комментариях.

5
ответ дан 1 December 2019 в 12:52

Другие вопросы по тегам:

Похожие вопросы: