Aşağıdaki kod durumu en iyi açıklar. Son satır neden sondaki yeni satır karakterini vermiyor? Her satırın çıktısı yorumda gösterilir. Ben kullanıyorum GNU bash, sürüm 4.1.5
echo -n $'a\nb\n' | xxd -p # 610a620a
x=$'a\nb\n' ; echo -n "$x" | xxd -p # 610a620a
echo -ne "a\nb\n" | xxd -p # 610a620a
x="$(echo -ne "a\nb\n")" ; echo -n "$x" | xxd -p # 610a62
tmp=$(somecommand; echo a)
... Bu kesinlikle noktayı eve götürdü ... Örneği görene kadar, tenhalığım hala kullanmak olurdu echo -n a
... ama, elbette!, Gerek yok -n
çünkü Komut değişikliği her durumda tanıtılan sondaki yeni satır kaldırır! ... Teşekkürler...
tmp=$(somecommand; echo a); tmp=${tmp%a}