Так как другие методы на самом деле не обеспечивают a bash
метод, относительно как попросили:
command | while IFS= read -r line; do
(( i )) || { printf '%s\n' 'These are the files stuck in the queue:' ; (( i++ )) ; }
printf '%s\n' "${line}"
done
Все используемые команды являются внутренними к bash
.
Если не будет никаких строк вывода, то ничто не будет распечатано. Если будет, то строка заголовка будет распечатана, и затем вывод от command
.
Я предполагаю, что тот двоичный выход совпадет с архитектурой, на которой Вы работаете...., если флаги для изменения этого поведения не присутствуют. Так, можно проверить это путем компиляции чего-то и затем выполнения команды файла на двоичном файле. Это скажет Вам, если вещами составят 64 или 32 бита.
Да, если Вы не старались изо всех сил настраивать его по-другому, GCC скомпилирует для архитектуры Вашего процессора. (Универсальная архитектура, не Ваш определенный вариант ЦП — в Вашем случае amd64 иначе x86_64).
В типовых установках 64-разрядного GCC, передачи -m32
скомпилировать для соответствующей 32-разрядной архитектуры (например, x86 в amd64 системе). Выполненный gcc --print-multi-lib
видеть, какая архитектура поддерживается.
Если конкретный проект не имеет никаких явных или неявных зависимостей от библиотек, которые составляют только 32 бита, то automake
скомпилирует исполняемый файл на 64 бита.
С распространенностью систем на 64 бита и перереализациями вещей, которые раньше были 32 бита только, этого не произойдет в современной системе (который является сообщением 2010, включая Fedora 16),
-march=native
и-mtune=native
флаги. Это на самом деле сделает исполняемый файл, это конкретно настраивается на точный ЦП, который Вы используете на машине, на которой Вы компилируете. – Omnifarious 19.11.2012, 23:38