Archiv verlassen und diese Seite im Standarddesign anzeigen : shell-scripting für Dummies, wer kann mir helfen?
balduin222
07.01.06, 12:14
Hallo zusammen,
bin eine absolute Programmierniete. Ich bin mir sicher ihr könnt mir bei diesem pippi-script helfen.
#!/bin/sh
#Variable
ip=`/sbin/ifconfig eth1 | grep 'inet ' | cut -d : -f2 | cut -d ' ' -f1`
#if-Bedingung
if ["$ip" > "1"];
then echo hurra
fi
Wenn ich diesess Script ausführe kommt das hier
nb-debian:/home/balduin/scripts# sh test.sh
test.sh: line 7: [192.168.100.7: command not found
nb-debian:/home/balduin/scripts#
Ist wahrscheinlich nur irgendne Kleinigkeit, komme aber nicht weiter! Danke für eure Hilfe!!
mfg
balduin222
Sirius_Alpha
07.01.06, 12:21
Versuchs mal so (Leerzeichen zwischen den eckigen Klammern und dem Zeug dazwischen):
if [ "$ip" > "1" ];
Der Gestreifte
07.01.06, 12:27
Und nimm "-gt" statt ">".
">" leitet den Wert von $ip in die Datei 1 um.
balduin222
07.01.06, 12:43
Super, vielen Dank!!! Langsam werd ich zum Profi *g.
@Der Gestreifte
Wenn ich das mache, dann bekomme ich das hier:
nb-debian:/home/balduin/scripts# sh test.sh
test.sh: line 7: [: 192.168.100.7: integer expression expected
nb-debian:/home/balduin/scripts#
Was bewirkt "-gt"? ">" sollte "größer als" bedeuten. Danke schonmal für eure Bemühungen.
mfg
balduin222
Sirius_Alpha
07.01.06, 12:46
192.168.100.7 ist keine Zahl, wie willst du da überprüfen, ob das größer als 1 ist?
balduin222
07.01.06, 12:51
ja hast recht, ich möchte eigentlich nur das hier auf deutsch gesagt:
wenn in $ip was drin steht, dann "hurra"
Wie kann ich das realisieren? Danke nochmals!!
mfg
balduin222
Sirius_Alpha
07.01.06, 12:54
man test hilft:
[-n] STRING
the length of STRING is nonzero
balduin222
07.01.06, 13:19
Danke nochmal,
hab hier schon viel rumprobiert, aber ich bin einfach zu blöde dafür. Ich das jetzt so gemacht zum testen:
#!/bin/sh
set -xv
#Variable
ip=`/sbin/ifconfig eth0 | grep 'inet ' | cut -d : -f2 | cut -d ' ' -f1`
#if-Bedingung
if [ "test -[n]$ip" ] ;
then echo hurra
else echo shit
fi
es gibt auch kein Fehler, aber wenn in $ip nichst steht, sollte ich als ausgabe doch eigentlich "shit" bekommen oder? Es kommt aber immer "hurra"
mfg
balduin222
if [ "test -[n]$ip" ] ;du musst das entweder so
if [ -n "$ip" ] ;oder so
if test -n "$ip" ;machen. test und die eckigen klammern [ ] sind das selbe, du musst also entweder oder nehmen, nicht beides
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.