Komische Sonderzeichen bei echo in Datei

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Transmitter
Beiträge: 262
Registriert: 21.01.2005 15:17:06

Komische Sonderzeichen bei echo in Datei

Beitrag von Transmitter » 13.09.2006 13:21:15

Hallo, ich lese aus einer Datei eine IP Adresse aus:

Code: Alles auswählen

#!/bin/bash
DATAFILE=/mnt/usb/lan.cfg
# Netzwerkkarte runterfahren:
ifconfig eth0 down
IP="`sed -n 1p $DATAFILE`"
echo " address $IP" >> /etc/network/interfaces
ifconfig eth0 up
In der interfaces steht dann folgendes:
192.168.100.8^M
Wo könnte dieses ^M denn her kommen und wie kann ich es unterbinden?

Danke schon mal.
Bye, Transmitter

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 13.09.2006 13:57:49

Das ^M kommt wohl von daher, dass deine mnt/usb/lan.cfg eine Datei mit DOS-Zeilumbruechen, also \r\n ist. Das ^M entspricht dem \r.
Das einfachste waere, die Datei einfach mit UNIX-Zeilenumbruch, sprich nur \n zu speichern.

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Beitrag von roli » 13.09.2006 14:05:56

Mit "recode" kannst du das ^M auch wieder los werden, indem du von DOS nach Linux konvertierst.
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

Antworten