Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Клуб юнуксоидов > возможно, опять баг |
Автор: MAKCim 10.3.2008, 23:21 | ||||||||
проделайте следующие шаги 1.
2.
3. компилируем main.c и запускаем выводится
а не
ошибка (если это ошибка) в fs/binfmt_script.c в функции load_script() зачем то идет вызов функции remove_arg_zero(), которая удаляет первый параметр командной строки вызов настолько очевиден, что на баг это не похоже но с другой стороны, почему такое поведение вообщем, что думаете? |
Автор: nickless 11.3.2008, 00:16 | ||||||
man exec пишет
Пример в man 2 execve
тоже передаёт название файла первым аргументом. Возможно для скриптов первый аргумент просто заменяется названием файла скрипта, хотя в мане
про это не говорится... Добавлено через 5 минут и 45 секунд Я думаю так как первым параметром обычно передаётся название файла, а интерпреторы при таком использовании по той же конвенции тоже передают первым аргументом название скрипта, то первый аргумент просто удаляют, чтобы его не было 2 раза в списке аргументов. |
Автор: MAKCim 11.3.2008, 11:02 | ||||
nickless, то, что в man 2 execve об этом не говорится ни слова, меня и смутило но в любом случае, я не понимаю, в чем тайный смысл передачи в качестве первого параметра командной строки фиктивного параметра достаточно в fs/exec.c в do_execve() вместо
написать
|