Como recomendé printf
en un comentario, probablemente debería dar algunos ejemplos de su uso (aunque para imprimir un mensaje de uso, es más probable que use las respuestas de Dennis o Chris). printf
es un poco más complejo de usar que echo
. Su primer argumento es una cadena de formato, en la que los escapes (como \n
) siempre se interpretan; también puede contener directivas de formato que comienzan con %
, que controlan dónde y cómo se incluyen argumentos adicionales. Aquí hay dos enfoques diferentes para usarlo para un mensaje de uso:
Primero, puede incluir el mensaje completo en la cadena de formato:
printf "usage: up [--level <n>| -n <levels>][--help][--version]\n\nReport bugs to: \nup home page: \n"
Tenga en cuenta que echo
, a diferencia , debe incluir la nueva línea final explícitamente. Además, si el mensaje contiene %
caracteres, deberían escribirse como %%
. Si desea incluir el informe de errores y las direcciones de la página de inicio, se pueden agregar de forma natural:
printf "usage: up [--level <n>| -n <levels>][--help][--version]\n\nReport bugs to: %s\nup home page: %s\n" "$bugreport" "$homepage"
En segundo lugar, puede usar la cadena de formato para que imprima cada argumento adicional en una línea separada:
printf "%s\n" "usage: up [--level <n>| -n <levels>][--help][--version]" "" "Report bugs to: " "up home page: "
Con esta opción, agregar el informe de errores y las direcciones de la página de inicio es bastante obvio:
printf "%s\n" "usage: up [--level <n>| -n <levels>][--help][--version]" "" "Report bugs to: $bugreport" "up home page: $homepage"
echo >&2 ...