Да и нет. В среде POSIX утилиты должны вести себя так, как описано в спецификации. На практике это означает, что соответствующие версии утилит должны присутствовать в $PATH. Однако при запуске вашей программы в POSIX-совместимой системе вы можете запускать ее в несоответствующей среде. На практике часто случается, что ОС имеет устаревший режим и режим POSIX и по умолчанию находится в устаревшем режиме. Хуже, чем отсутствие некоторых команд, унаследованный режим имеет тенденцию к несовместимости, например, варианты с различными значениями.
Вы можете получить товар PATHс getconf. Конечно, это сложно, так как getconfв оригинале $PATHможет быть не тот. Использование приложений для команды показывает способ сделать это:
command -p getconf PATH
Насколько я понимаю спецификацию, в этом нет необходимости, если вы запускаете свою программу в POSIX-совместимой среде; и если вы не запускаете свою программу в POSIX-совместимой среде, POSIX не применяется. Тем не менее, использование этого приложения можно принять за рекомендацию: если это не сработает, вы можете посчитать своим разработчиком право жаловаться на то, что все, что он делает в отношении буквы спецификации POSIX, не соответствует его духу.
getconf PATHв разделе использования приложения. Спасибо!