printf
의견에서 권장 했으므로 사용법에 대한 몇 가지 예를 제시해야합니다 (사용 메시지를 인쇄하더라도 Dennis 또는 Chris의 답변을 사용할 가능성이 큽니다). printf
보다 사용하기가 조금 더 복잡합니다 echo
. 첫 번째 인수는 형식 문자열이며 이스케이프 (예 :) \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 ...