Poniższy kod najlepiej opisuje sytuację. Dlaczego ostatni wiersz nie wyświetla końcowego znaku nowej linii? Wynik każdego wiersza jest pokazany w komentarzu. Używam GNU bash, wersja 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)
... To z pewnością doprowadziło do sedna sprawy ... Dopóki nie zobaczyłem przykładu, moja tendencja nadal byłaby wykorzystywana echo -n a
... ale oczywiście !, nie ma potrzeby -n
, ponieważ Komenda Zmiana usunie wprowadzony spływu przełamane w każdym razie! ... dzięki ...
tmp=$(somecommand; echo a); tmp=${tmp%a}