Wpis z mikrobloga

Chcę w bashu wygenerować wiersze tabeli html. Niestety, z niezrozumiałych dla mnie powodów dzieją się cuda niewidy i to co powinno być na końcu pojawia się na początku stringa i w ogóle jakoś pomieszane. W prawdzie tylko jedna linijka, ale dla czytelności wrzuciłem na pastebina http://pastebin.com/GCqNHUsK

Jakby ktoś zerknął i wyjaśnił mi co jest nie tak, to byłbym wdzięczny.

#bash #linux
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Matt23: Podejrzewam, że plik zawierający nazwy ma Windowsowe entery (CRLF). Linux używa tylko LF, a więc nazwa jest brana razem z CR... czyli Carriage Return, przesunięcie głowicy na początek linii.
Sprawdź czy wszystkie pliki biorące udział w tej zbrodni mają Unixowe końce linii.
Jakby ktoś chciał przetestować: wziąć poniższe, zapisać z CRLF i odpalić:

app=com.amazon.venezia
echo "| $app |
"
  • Odpowiedz
@no_one: @glonstar: @Matt23: @vytah: @no_one: @glonstar: Dobra, załatwiłem sprawę. Najbliżej rozwiązania był @vytah, po wykonaniu polecenia cat -v apps.list okazało się że każda linia kończy się jakimś bonusowym białym znakiem. Przekopiowałem treść pliku do edytora i zapisałem jeszcze raz i już hula.
Nie wiem tylko skąd wzięły się te białe znaki na końcu, bo plik powstał przez terminal
  • Odpowiedz