Utworzyłem plik Notatnika w systemie Windows i skopiowałem go do Ubuntu. Plik zawiera kilka reguł iptables. Po uruchomieniu pliku przy użyciu chmod +x
i uruchomieniu go nie działał.
Jednak gdy utworzyłem plik Ubuntu ( gedit ) i skopiowałem tę samą zawartość z pliku Notatnika, uczyniłem go wykonywalnym i uruchomiłem, działało.
Co powinienem zrobić, aby plik Notepad działał na Ubuntu?
Odpowiedzi:
Windows i Linux mają różne symbole końca linii.
Możesz zainstalować
dos2unix
narzędzie, które to naprawia:Uruchom to w ten sposób:
Istnieje również
unix2dos
narzędzie.Konwersję systemu Windows na Linux można również wykonać bez instalowania specjalnego oprogramowania przez
Uwaga: Pliki wejściowe i wyjściowe muszą być inne.
Wersja sed będzie edytować plik „w miejscu”:
Lub napisz do innego pliku:
źródło
dos2unix winfile.txt linuxfile.txt
próbuje przekonwertować oba pliki. Użyj tego poleceniados2unix -n winfile.txt linuxfile.txt
W systemie Windows musisz zmienić format końca linii (EOL) w Notepad ++ na UNIX:
W ten sposób będzie działać również na Ubuntu.
źródło
Windows używa CR + LF do podziału linii. W Linux / Unix potrzebujesz LF. Dlatego w swoim skrypcie musisz zamienić CR + LF na LF:
zainstalować
dos2unix
I popraw swój skrypt za pomocą
lub przez
jeśli potrzebujesz innego pliku wyjściowego
Więcej informacji tutaj
od
man dos2unix
źródło
Używam cygwin w systemie Windows.
Otwórz plik za pomocą vi. Następnie wejdź
zapisze plik z uniksowymi znakami końca linii.
źródło
Możesz używać Vima w trybie Ex:
%
wybierz wszystkie linies
zastąpić\r
powrót karetkix
Zapisz i zamknijźródło