Actualmente estoy escribiendo un script Bash que tiene los siguientes requisitos:
- debería ejecutarse en una amplia variedad de plataformas Unix / Linux
- debería admitir opciones cortas y largas (GNU)
Sé que getoptssería la forma preferida en términos de portabilidad, pero AFAIK no admite opciones largas.
getoptadmite opciones largas, pero BashGuide recomienda enfáticamente que no lo haga :
Nunca use getopt (1). getopt no puede manejar cadenas de argumentos vacías o argumentos con espacios en blanco incrustados. Por favor, olvide que alguna vez existió.
Por lo tanto, todavía existe la opción de análisis manual. Esto es propenso a errores, produce bastante código repetitivo y necesito manejar los errores por mí mismo (supongo getopt(s)que los manejo de errores por sí mismos).
Entonces, ¿cuál sería la opción preferida en este caso?