Saya membuat file Notepad di Windows dan menyalinnya ke Ubuntu. File ini berisi beberapa aturan iptables. Setelah membuat file dapat dieksekusi menggunakan chmod +x
dan mengeksekusinya, itu tidak berfungsi.
Namun, ketika saya membuat file Ubuntu ( gedit ) dan menyalin konten yang sama dari file Notepad, membuatnya dapat dieksekusi dan menjalankannya, itu berhasil.
Apa yang harus saya lakukan untuk membuat file Notepad berjalan di Ubuntu?
Jawaban:
Windows dan Linux memiliki simbol end-of-line yang berbeda.
Anda dapat menginstal
dos2unix
utilitas yang memperbaikinya:Jalankan dengan cara ini:
Ada juga
unix2dos
utilitasnya.Konversi Windows-ke-Linux juga dapat dilakukan tanpa menginstal perangkat lunak khusus apa pun oleh
Catatan: File input dan output harus berbeda.
Versi sed akan mengedit file "di tempat":
Atau tulis ke file lain:
sumber
dos2unix winfile.txt linuxfile.txt
mencoba mengonversi kedua file. Gunakan perintah inidos2unix -n winfile.txt linuxfile.txt
Di Windows, Anda perlu mengubah format End of Line (EOL) di Notepad ++ ke UNIX:
Dengan begitu itu akan bekerja di Ubuntu juga.
sumber
Windows menggunakan CR + LF untuk jeda baris. Di Linux / Unix Anda membutuhkan LF. Karena itu Anda harus mengganti CR + LF ke LF di skrip Anda:
Install
dos2unix
Dan perbaiki skrip Anda melalui
atau via
jika Anda memerlukan file output yang berbeda
Informasi lebih lanjut di sini
dari
man dos2unix
sumber
Saya menggunakan cygwin di Windows.
Buka file dengan vi. Lalu masuk
akan menyimpan file dengan karakter Unix akhir baris.
sumber
Anda dapat menggunakan Vim dalam mode Ex:
%
pilih semua bariss
pengganti\r
Kereta kembalix
Simpan dan tutupsumber