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ß
Jörch B. schrieb:> warum das $ und wenn Du eine Ausgabe in die> Variable haben möchtest, Backticks benutzen
1
man bash:
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.
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:
1
$ X=123
2
$ X_cd=abc
3
$ echo 'ab_$X_cd'
4
ab_$X_cd
5
$ echo "ab_$X_cd"
6
ab_abc
7
$ echo "ab_${X}_cd"
8
ab_123_cd
9
$ echo 'ab_'"$X"'_cd'
10
ab_123_cd
11
$ echo ab_"$X"_cd
12
ab_123_cd
Ich würde hier die Variante mit single und double quotes kombiniert
bevorzugen.
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:
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.
1
ip -4 addr show primary dev tun0 | grep inet | awk '{print $2}'
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.
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.
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.
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.