Я наткнулся на эту небольшую разницу между set
реализацией двух операционных систем.
При запуске:
#!/bin/sh
set -eu
echo "${@}"
Запуск этого на MacOS дает следующую ошибку:
@: несвязанная переменная
В то время как запуск этого в среде Linux не приводит к ошибкам, но отображает пустую строку.
Может ли это быть разрешено каким-то образом, за исключением изменения ${@}
на ${@:-}
, поскольку это может привести к другим результатам, если количество аргументов проверяется в коде.