Предотвращение “измов BASH” в сценариях оболочки

i386 и i686 являются оба 32-разрядными.
x86_64 является 64-разрядным

пример для 64 битов:

behrooz@behrooz:~$ uname -a  
Linux behrooz 2.6.32-5-amd64 #1 SMP Mon Mar 7 21:35:22 UTC 2011 **x86_64** GNU/Linux

Править:
Посмотрите мой ARM Linux 32 или 64 бита? для ARM

37
08.11.2011, 02:04
1 ответ

Существует checkbashisms. На Debian это поставляется как часть инструментов специалиста по обслуживанию пакета.

Протестируйте свои сценарии под тире и шикарный. У обоих есть несколько конструкций неPOSIX, но если Ваш сценарий будет работать в обоих, то он, вероятно, будет работать в большинстве мест. (С протестом, что трудно протестировать типичные сценарии оболочки, поскольку они имеют тенденцию иметь много угловых случаев.)

Если Вы предназначаете, чтобы Ваши сценарии были портативными на встроенные платформы Linux, протестируйте их с BusyBox. Обратите внимание, что BusyBox может быть более или менее ограничен, в зависимости от того, как маленький встроенная система Вы хотите; довольно нормально иметь сценарии, которые полагаются на функцию, которую не имеют некоторые установки BusyBox.

Обратите внимание, что немобильность не прибывает из одной только оболочки, она также прибывает из внешних утилит. OpenBSD и Солярис склонны иметь утилиты с функциями POSIX и не намного больше, таким образом, они хороши для тестирования на мобильность.

Вы захотите обратиться к спецификации POSIX и другим ресурсам, упомянутым в этом потоке (особенно autoconf руководство); но это - документация, не помогает, используете ли Вы функцию случайно.

36
27.01.2020, 19:36

Теги

Похожие вопросы