Thread werte von "top" per snmp (13 answers)
Opened by turbo at 2011-12-23 09:47

Linuxer
 2012-01-03 17:02
#155232 #155232
User since
2006-01-27
3870 Artikel
HausmeisterIn

user image
Hi,

wichtig ist, dass man "" um die Variablen setzt.
Weil die Shell zuerst die Variablen durch ihren Inhalt ersetzt, ist sie anschließend nicht in der Lage, einen String mit Leerzeichen korrekt als einen String zu erkennen...

statt [ -z $variable ] sollte man besser [ -z "$variable" ] verwenden.

Code: (dl )
1
2
3
4
5
6
$ VAR="hallo welt"
$ [ -n $VAR ] && echo lang || echo nix
bash: [: hallo: binary operator expected
nix
$ [ -n "$VAR" ] && echo lang || echo nix
lang


Die Anführungszeichen sagen nichts über den Inhalt der Variable aus, sie begrenzen nur den Inhalt der Variable.

Negation ! in Shell (bash) braucht auch ein Leerzeichen, ansonsten greift u.U. eine History-Option der Bash (siehe shell builtin "set", Option -H). [ !$var ] ist nicht gleich [ ! $var ].
Ich würde wie von Gwen bereits vorgeschlagen, die Tests -z und -n verwenden, um eine Variable auf "leer" oder "nicht-leer" zu prüfen.




meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread werte von "top" per snmp