Каковы правила синтаксиса для идентификаторов, особенно имена функций и переменных, в Bash?
Я написал Bash script и протестировал его в различных версиях Bash на Ubuntu, Debian, Red Hat 5 и 6 и даже в старом окне Solaris 8. script работал хорошо, поэтому он отправлен.
Однако, когда пользователь попробовал его на машинах SUSE, он дал ошибку "недействительный идентификатор". К счастью, я предполагал, что был неправильный символ в имени функции. Дефис был испорчен.
Тот факт, что a script, который был хотя бы несколько протестирован, имел бы совершенно другое поведение на другом Bash, или distro вызывал смущение. Как я могу избежать этого?