printfBir 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). printfkullanmak 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 ...