checkbashisms :что не так с `type'?

Я думаю, что файлы из /usr/bin/ не всегда доступны во время загрузки -:

/usr/bin is a standard directory on Unix-like operating systems that contains most of the executable files (i.e., ready-to-run programs) that are not needed for booting (i.e., starting) or repairing the system. (ref: http://www.linfo.org/usr_bin.html )

Попробуйте вызвать "/usr/bin/unzip" вместо unzip.

Если вызов приходит достаточно поздно и /usr/bin/ к тому времени смонтирован, а отсутствует только среда PATH, это может сработать.

6
02.09.2021, 09:45
2 ответа

typeявляется частью POSIX , но как часть X/Open Systems Interfaces option (XSI ). В справочной странице checkbashismsявно говорится

Note that the definition of a bashism in this context roughly equates to "a shell feature that is not required to be supported by POSIX"; this means that some issues flagged may be permitted under optional sections of POSIX, such as XSI or User Portability.

Итак, typeпомечен как необязательный.

Мне неизвестно, как можно отключить определенные предупреждения в checkbashisms, кроме как удалить их из скрипта.

12
02.09.2021, 10:07

Команда typeопределенно не является bashism, так как она является частью UNIXс 1984 года.

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

Если вы используете платформу, которая называет себя платформой UNIX-, команда typeявляется обязательной, поскольку платформаUNIX-требуется для поддержки всех так называемых XSIулучшений, упомянутых в стандарт POSIX.

Если вы ищете наполовину похожую команду, которая должна поддерживаться даже крошечными встроенными системами, вы можете использовать:

command -V foo

вместо этого. Обратите внимание, что опция -V в верхнем регистре для commandвыводит аналогичный, но не обязательно идентичный вывод, что и type.

Также обратите внимание. :Ни выходной формат из command -V, ни из typeне определяется стандартом POSIX.

2
03.09.2021, 06:27

Теги

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