printf
Bir yorumda önerdiğimden , muhtemelen kullanımıyla ilgili bazı örnekler vermeliyim (bir kullanım mesajı yazdırmak için Dennis veya Chris'in cevaplarını kullanmam daha olasıdır). printf
kullanmak biraz daha karmaşıktır echo
. İlk argümanı, kaçışların (gibi \n
) her zaman yorumlandığı bir biçim dizesidir ; ile başlayan biçim yönergeleri de içerebilir%
herhangi bir ek argümanın nereye ve nasıl dahil edileceğini kontrol eden . Bir kullanım mesajı olarak kullanmak için iki farklı yaklaşım:
İlk olarak, iletinin tamamını biçim dizesine ekleyebilirsiniz:
printf "usage: up [--level <n>| -n <levels>][--help][--version]\n\nReport bugs to: \nup home page: \n"
Bunun aksine echo
, son yeni satırı açıkça eklemeniz gerektiğini unutmayın . Ayrıca, mesaj herhangi bir %
karakter içeriyorsa , olarak yazılmalıdır %%
. Hata raporu ve ana sayfa adreslerini eklemek istiyorsanız, bunlar oldukça doğal olarak eklenebilir:
printf "usage: up [--level <n>| -n <levels>][--help][--version]\n\nReport bugs to: %s\nup home page: %s\n" "$bugreport" "$homepage"
İkinci olarak, her ek bağımsız değişkeni ayrı bir satıra yazdırmak için biçim dizesini kullanabilirsiniz:
printf "%s\n" "usage: up [--level <n>| -n <levels>][--help][--version]" "" "Report bugs to: " "up home page: "
Bu seçenekle hata raporu ve ana sayfa adreslerini eklemek oldukça açıktır:
printf "%s\n" "usage: up [--level <n>| -n <levels>][--help][--version]" "" "Report bugs to: $bugreport" "up home page: $homepage"
echo >&2 ...