nie można wykonać pliku binarnego: błąd formatu wykonania

0

Przepraszam, jestem trochę nowy w tym ... Pojawia się ten błąd podczas próby uruchomienia skryptu. Inne posty wspominające o tym błędzie nie były pomocne. Oto kilka wyników, o których widziałem inne posty:

uname -a
Linux aaron-850-065se 3.13.0-79-generic #123-Ubuntu SMP Fri Feb 19 14:27:58 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

file filename
Mach-O 64-bit x86_64 executable

Wszelkie pomysły, w jaki sposób mogę uruchomić mój plik?

hulkbash
źródło
1
Jaka jest wydajność file filename. Jaka jest treść skryptu? (Wklej go lub przynajmniej kilka pierwszych wierszy w poście za pomocą linku edycyjnego . Jakie są uprawnienia ( ls -l filename). I na koniec, jaki dokładnie błąd otrzymujesz?
Hennes
Czy Twój skrypt zaczyna się od #!/bin/bashpodobnego, więc system operacyjny wie, że to skrypt? Jeśli nie, może próbować uruchomić go jako plik binarny, który zawiedzie, jeśli nie jest to plik binarny w formacie wykonywalnym.
LawrenceC
Aby rozwinąć komentarz @Hennes, musisz ustawić bity odczytu i pliku wykonywalnego w pliku i wszystkich katalogach na ścieżce (ściśle, nie musisz czytać w katalogach, ale nie będziesz mógł przeglądać ani autouzupełnianie bez niego). Jeśli jest to skrypt, można go uruchomić bez bitu wykonywalnego za pomocą polecenia sourcelub ., ale to nie jest obejście. Dane filewyjściowe polecenia są ważne: pokażą typ pliku (jeśli możesz go odczytać), ale nie to, czy możesz go wykonać. #!Definicja procesor poleceń jest zawsze pomocny, ale nie niezbędna.
AFH,
2
Czy jesteś pewien, że to skrypt? Mach-o executablejest wyjściem binarnego pliku wykonywalnego przeznaczonego dla Mac OS X.
Barmar
1
@barmar Wierzę, że to może być odpowiedź. I pytanie przestroga na temat tego, co wiesz.
Journeyman Geek

Odpowiedzi:

2

Mach-O 64-bit x86_64 executable jest binarnym formatem pliku wykonywalnego używanym w systemie OS X. Jeśli skądś to pobrałeś, wygląda na to, że pobrałeś wersję OS X, a nie wersję Linux.

Barmar
źródło