Поскольку в комментарии я рекомендовал printf
, я должен, вероятно, привести некоторые примеры его использования (хотя для печати сообщения об использовании я с большей вероятностью воспользуюсь ответами Денниса или Криса). printf
несколько сложнее в использовании, чем echo
. Его первым аргументом является строка формата, в которой escape-последовательности (например, \n
) являются всегда интерпретировано; он также может содержать директивы формата, начиная с %
, которые контролируют, где и как любые дополнительные аргументы включены в него. Вот два разных подхода к использованию его для сообщения использования:
Во-первых, вы можете включить все сообщение в строке формата:
printf "usage: up [--level <n>| -n <levels>][--help][--version]\n\nReport bugs to: \nup home page: \n"
Обратите внимание, что в отличие от echo
, вы должны включать окончательный перевод строки в явном виде. Кроме того, если сообщение содержит любые символы %
, они должны быть записаны как %%
.Если вы хотели бы включить в отчет об ошибке и стартовой адреса, они могут быть добавлены вполне естественно:
printf "usage: up [--level <n>| -n <levels>][--help][--version]\n\nReport bugs to: %s\nup home page: %s\n" "$bugreport" "$homepage"
Во-вторых, вы можете просто использовать строку формата, чтобы распечатать каждый дополнительный аргумент в отдельной строке:
printf "%s\n" "usage: up [--level <n>| -n <levels>][--help][--version]" "" "Report bugs to: " "up home page: "
с помощью этой опции, добавив и отчет об ошибке стартового адрес достаточно очевиден:
printf "%s\n" "usage: up [--level <n>| -n <levels>][--help][--version]" "" "Report bugs to: $bugreport" "up home page: $homepage"
Если вы выводите сообщение об использовании в ответ на неверный вызов, вы, как правило, отправить это сообщение для стандартной ошибки вместо стандартного вывода, с 'echo> & 2 ...' –
@MarkReed Сообщение об использовании выводится путем ввода '--help' (который должен перейти в стандартную версию). – helpermethod
Для других, которые приходят, более подробная информация о «здесь документах» доступна: http://www.tldp.org/LDP/abs/html/here-docs.html –