Gast
#5785753
Hallo, wo ist denn hier genau der Fehler???
1 | |
2 | |
danke für die Hilfe
|
Anzeige
|
Fehler im bash script bitte um Hilfe
Gast
#5785753
Hallo, wo ist denn hier genau der Fehler???
danke für die Hilfe
Gast
#5785775
Näher zusammenschreiben, warum das $ und wenn Du eine Ausgabe in die Variable haben möchtest, Backticks benutzen : STATICIPACTUAL=`ifconfig tun0 | grep "inet " | cut -c14- | rev | cut -c46- | rev` Gruß
Gast
#5785797
Was ist denn die Fehlermeldung? MfG, Arno
Gast
#5785847
der fehler war ich hab es nicht eng genung zusammengeschrieben.... Hier ein nächster einfacher Fehler:
ich will jetzt nicht $STATICIPACTUAL sondern den inhalt da stehen haben..... Jörch B. schrieb: > warum das $ und wenn Du eine Ausgabe in die > Variable haben möchtest, Backticks benutzen
Command substitution allows the output of a command to replace the
command name. There are two forms:
$(command)
or
`command`
Die Variante $() ist einfacher zu schreiben und kann vor allem
ineinander geschachtelt werden.
Gast
#5785877
linuxnewbi schrieb: > ich will jetzt nicht $STATICIPACTUAL sondern den inhalt da stehen > haben..... Es gibt einige unterschiede zwischen single und double quotes, escapt und nicht escapt, etc. Hier ein paar beispiele:
Ich würde hier die Variante mit single und double quotes kombiniert bevorzugen.
Gast
#5785887
So funktioniert.....
es leider nicht
Gast
#5785921
Mir ist auch noch ein Rätzel, warum man die Zeile in der dhcpcd.conf überhaupt ändern wollen würde. Wenn das Interface sowieso schon konfiguriert ist, kann man dhcpd dann nicht einfach deaktivieren? Oder das Interface ignorieren lassen mit einer "denyinterfaces tun0" zeile? Falls du die restlichen Parameter noch statisch setzen musst, das geht ja auch mit ip, route und ifconfig. In den seltenen fällen, wo ich tatsächlich Configfiles automatisch anpassen muss, generiere ich diese mit einem Shellscript. Meistens genügt auch envsubst. Ich mache das meistens so: test.template:
genfiles.sh:
Das ausführen von genfiles.sh erzeugt in dem beispiel dann eine Datei "test" mit folgendem Inhalt:
Gast
#5785962
sed -i -e "s/static ip_address=10.*\/24/static
ip_address=${STATICIPACTUAL}\/24/" dhcpcd.conf
Beitrag #5786709 wurde von einem Moderator gelöscht.
Gast
#5788588
linuxnewbi schrieb: > wo ist denn hier genau der Fehler??? Das fängt damit an, daß Du Tools verwendest, die mittlerweile seit Jahren schon deprecated sind und in neuen Distros teilweise per Default garnicht mehr dabei sind.
Aber natürlich könnte man das auch noch viel einfacher haben
otto (Gast) schrieb: >linuxnewbi schrieb: >> wo ist denn hier genau der Fehler??? >Das fängt damit an, daß Du Tools verwendest, die mittlerweile seit >Jahren schon deprecated sind und in neuen Distros teilweise per Default >garnicht mehr dabei sind. Vollkommen egal, ob die Tools deprecated sind, solange die Tools noch auf dem System vorhanden sind.
Gast
#5789065
Jens G. schrieb: > Vollkommen egal, ob die Tools deprecated sind, solange die Tools noch > auf dem System vorhanden sind. Lesen bildet. Bei aktuellen RHEL Systemen zB sind die, wie ich sagte, eben nicht mehr dabei. Redhat hat es schon seit 10 Jahren als deprecated markiert. Es gibt nur noch ab und an Patches; aber Development ist tot. Mit modernen Netzwerken kommt es teilweise gar nicht mehr zurecht. Aber was soll's, installiere doch einfach veraltete Software nach, anstatt Dich mit aktuellen und besseren Tools zu beschäftigen. Bloß bring diesen Unsinn dann nicht anderen bei. otto (Gast) schrieb: >Jens G. schrieb: >> Vollkommen egal, ob die Tools deprecated sind, solange die Tools noch >> auf dem System vorhanden sind. >Lesen bildet. Bei aktuellen RHEL Systemen zB sind die, wie ich sagte, >eben nicht mehr dabei. Redhat hat es schon seit 10 Jahren als deprecated >markiert. >... Ich würde vorschlagen, daß Du Dich erstmal durch Lesen bilden würdest, denn dann würdest Du merken, daß Du vollkommen an des TOs Problem vorbei argumentierst. Oder steht hier irgendwo, daß er wegen einem fehlenden Tool nicht weiterkommt? otto schrieb: > Lesen bildet. Bei aktuellen RHEL Systemen zB sind die, wie ich sagte, > eben nicht mehr dabei. Redhat hat es schon seit 10 Jahren als deprecated > markiert. Wieso tun immer alle so, als ob Linux RedHat gehören würde? Und Ifconfig ist nicht deprecated. Es ist stabil, sowohl die Ausgabe als auch die Parameter, sowie immernoch weit verbreitet. Ausserdem funktioniert es nicht nur auf Linux, sondern auch auf FreeBSD, OpenBSD, AIX, etc.
Gast
#5789268
Daniel A. schrieb: > otto schrieb: >> Lesen bildet. Bei aktuellen RHEL Systemen zB sind die, wie ich sagte, >> eben nicht mehr dabei. Redhat hat es schon seit 10 Jahren als deprecated >> markiert. > > Wieso tun immer alle so, als ob Linux RedHat gehören würde? > Und Ifconfig ist nicht deprecated. Es ist stabil, sowohl die Ausgabe als > auch die Parameter, sowie immernoch weit verbreitet. Ausserdem > funktioniert es nicht nur auf Linux, sondern auch auf FreeBSD, OpenBSD, > AIX, etc. Das Problem von ifconfig ist, dass es auf modernen Systemen teilweise Falschausgaben ohne Fehlermeldung erzeugt und daher für ernsthaften Betrieb unbrauchbar ist. Bei Infiniband kann ich das z.B. nicht brauchen. Daher nutze ich sowas Veraltetes auch nicht. RedHat hat das natürlich deswegen rausgeschmissen, im professionellen Einsatz kann so einen Mist keiner brauchen. Wer nur Hobby-Hardware oder Klitschen-Server einsetzt, dürfte aber keinen Unterschied merken.
Gast
#5789555
Jens G. schrieb: > Ich würde vorschlagen, daß Du Dich erstmal durch Lesen bilden würdest, > denn dann würdest Du merken, daß Du vollkommen an des TOs Problem vorbei > argumentierst. Oder steht hier irgendwo, daß er wegen einem fehlenden > Tool nicht weiterkommt? OP hat noch nicht mal einen genauen Fehler angegeben. Da fängt man halt mit den offensichtlichsten Sachen an. Dabei bin ich noch nicht mal darauf eingegangen wie schlecht es ist sich dazu noch auf feste Positionen zu verlassen. Bei einer meiner alten Testserver gibt OP's "Parsing" nämlich "192.168.1.155 n" zurück. Absoluter Schrott. OP geht einfach mal davon aus, daß eine IP immer vom Format nnn.nnn.nnn.nnn ist und zählt dann Buchstaben. Von anderen Sprachen rede ich da noch nicht mal. Daniel A. schrieb: > Wieso tun immer alle so, als ob Linux RedHat gehören würde? Weil RHEL den Enterprisemarkt dominiert? Und wenn Du CentOS und Fedora dazu zählst, ist der Marktanteil noch größer. > Und Ifconfig ist nicht deprecated. Doch, ist es. Unter RHEL&Co seit 10 Jahren. Aber für Dich ist ja Redhat ein rotes Tuch; dumm nur daß Debian das auch 2009 veraltet und unbenutzbar nennt: https://lists.debian.org/debian-devel/2009/03/msg00780.html > Es ist stabil, sowohl die Ausgabe als > auch die Parameter, sowie immernoch weit verbreitet. Eben nicht. Die Ausgabe von ifconfig ist abhängig von der eingestellten Sprache, dh ein ach so tolles Parsing unter en-en scheitert einfach krachend unter de-de. > Ausserdem > funktioniert es nicht nur auf Linux, sondern auch auf FreeBSD, OpenBSD, > AIX, etc. Und Analsex funktioniert bei Frauen und Männern. Trotzdem gibt es besseres. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|