Как проверить синтаксис переносимых сценариев оболочки POSIX? [Дубликат]

На этот вопрос уже есть ответ здесь:

Как проверить синтаксис скрипта Bash без его запуска? 7 ответов

Следующий сценарий оболочки хорошо работает при условии/bin/true для первого аргумента, но в противном случае может потерпеть неудачу ссинтаксическая ошибка во время выполнения!

#!/bin/sh
if $1 ; then exit; fi
/tmp/asdf <<< ASDF # Something with syntax error in POSIX

Наверняка некоторых статических ошибок (если не всех?) Можно избежать статической проверкой?Как мне статически проверить, является ли данныйЯзык командной оболочки скрипт синтаксически действителен?

РЕДАКТИРОВАТЬ: Проверка на синтаксические ошибки в скриптах Bash дана в ответеэтот вопрос.

РЕДАКТИРОВАТЬ № 2: Обратите внимание, чтоБаш не удается правильно проверить, соответствует ли синтаксис POSIX, даже когда выполняется с+B а также--posix флаги в дополнение к-n.

Ответы на вопрос(2)

Ваш ответ на вопрос