Рейтинг:1

Ошибка формата Exec с форматом файла «данные»

флаг cn

Кто-нибудь знает, почему он выдает ошибку формата, когда я пытаюсь запустить эхо через /бен/эхо или же /USR/бен/эхо но работает хорошо, если я просто набираю эхо в командной строке

bash: /usr/bin/echo: невозможно выполнить двоичный файл: ошибка формата Exec

Выход файл /bin/эхо

/bin/эхо: данные

Что это такое данные формат файла, почему я не могу его выполнить.

Вот скриншот, Скриншот

флаг hr
Когда вы просто набираете `echo` в командной строке, вы, скорее всего, получаете встроенную в интерактивную оболочку реализацию команды
Mr Syhd avatar
флаг cn
@steeldriver, но когда я запускаю «какое эхо», вывод будет /usr/bin/echo, также могу ли я сделать эхо-скрипт внутри папки bin таким же, как встроенная реализация? так что это не дает мне исполняемую ошибку
флаг hr
`/bin/echo` должен работать - похоже, что файл поврежден. Возможно, вы можете исправить это, переустановив пакет `coreutils`.
Mr Syhd avatar
флаг cn
@steeldriver спасибо, переустановка пакета coreutils решает проблему
Mr Syhd avatar
флаг cn
@steeldriver, но есть кое-что, что беспокоит меня, вы только что сказали, что `echo` в командной строке может быть встроенной реализацией, но почему, когда я запускаю `what echo`, вывод будет `/usr/bin/bash`, который является проблемный файл, знаете почему?
флаг hr
Нет, я не знаю почему - я ожидал, что `what echo` выведет `/usr/bin/echo` (или `/bin/echo` в системе до usrmerge). К вашему сведению, `который` покажет вам только внешние исполняемые файлы — вместо этого попробуйте ввести `-a echo`. См. также [Почему бы не использовать "который"? Что тогда использовать?] (https://unix.stackexchange.com/questions/85249/why-not-use-what-to-use-then)
Mr Syhd avatar
флаг cn
@steeldriver о, понятно, спасибо за ответ
Mr Syhd avatar
флаг cn
лол, да, вывод должен быть /usr/bin/echo, опечатка
Рейтинг:4
флаг in

Скорее всего у вас что-то не так /бен/эхо, так как вы должны получить что-то подобное при запуске файл в теме:

/bin/echo: общий объект ELF 64-bit LSB, x86-64, версия 1 (SYSV), динамически связанный, интерпретатор /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=714b557112010bbcd04b0e5e6efc1b106166733c, для GNU/Linux 3.2.0, раздели

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

dpkg -S /bin/эхо

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

sudo apt установить debsums
debsums coreutils

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

sudo apt установить coreutils --reinstall
Mr Syhd avatar
флаг cn
подробный ответ, спасибо!!

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

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