Я думаю, что вы указываете на это с страницы человека:
Когда владелец или группа исполняемого файла изменяются Непродусный пользователь S_ISUID и S_ISGID Mode Bits очищены.
Так почему они очищаются сейчас. Вы видите, что они очищаются только в случае исполняемого файла . Поскольку, когда установлен один из битов (SUID / SGID), предвосплатный пользователь может выполнить файл как новый владелец файла. Это было бы огромным нарушением безопасности.
Из ваших комментариев появляется, что очевидные решения не работают. Пожалуйста, не могли бы вы попробовать это, SH -C 'MakeAll> Out 2> & 1'
(вам может потребоваться изменение части Makeall
, чтобы включить полный путь, или добавить различные флаги; просто Убедитесь, что это все внутри одной цитаты).
Если он производит ошибку, пожалуйста, укажите это здесь.
Если нет ошибок, но вы все еще не получаете свои ошибки компиляции в файле OUT, то ваш скрипт
почти наверняка делает что-то очень странное с помощью STDOUT и STDERR файловые дескрипторы.
Вы пытались Makeall | & Tee Out
? Это все равно наплевать на экране, но и в файле .
.