Здравствуйте. Имеется файл без расширения. Когда его запускаю, возникает ошибка (права доступа позволяют запустить). Никакой информации при этом не вылезает, из-за чего произошла ошибка: просто ошибка да и всё. А так как я плохо знаком с ОС Linux, то не могу понять, почему произошла ошибка: кривая программа (такое возможно), либо я неправильно запускаю исполняемый файл. А запускал я через chmod u+x, чтобы не было проблем с правами. Как проверить, почему программа не запустилась?
Прошу прощения, если что-то важное не указал. Если что, можете уточнить в комментариях.
UPD: запустил нужный файл через файл с расширением .sh . Пишет, что "Предупреждение: execve: Ошибков формата выполняемого файла".
попробовать запустить из консоли и узреть наконец выхлоп программы (при условии, конечно, что он есть)
а точно это исполняемый файл — что о нём говорит file?
Выхлоп у программы должен быть (перед этим должно появляться окно с терминалом, но если и до этого не дошло, то проблема на уровне запуска где-то). Через терминал запускал "chmod u+x run.sh", в ответ тишина.. Видимо, так ошибка не выводится
А запускал я через chmod u+x, чтобы не было проблем с правами.
Через терминал запускал "chmod u+x run.sh", в ответ тишина..
рука-лицо
это не запуск, а назначение прав
далее для запуска просто выполните ./run.sh
или bash run.sh
ну или с xtrace для поиска ошибки bash -x run.sh
miha9, но судя по "Предупреждение: execve: Ошибков формата выполняемого файла" идёт попытка запустить что-то, что не является программой файлом (как пример, картинка)
1. запускаоемость в линуксе атрибут "x" к примеру 777 это все права всем в 8 ричном формате.
2. если у вас у файла стоит "запускаемость" было бы не плохо сообщить ему чем его собственно интерпритировать. по этому в начале баш скрипта стоит строчка. #!/bin/bash
И опять же убедитесь что у вас баш именно там which bash
теперь при запуске файла он будет знать чем его интерпретировать.
Более подробно можно было бы тебе помочь если ты скажешь что за скрипт и что он делает.
Скорее всего у вас в начале скрипта ничего не стояло и он просто не знает чем интерпритировать.
И получается так
bash file.sh - работает
file.sh -запускается и ничего не работает, поскольку он просто не знает чем интерпретировать. ( расширений в линукс с точки зрение FS вообще не существует это просто точка в имени)
есил он что-то делает с системой то убедитесь что запустили его из под судо