Hallo!
Ich habe ein Bash-Script geschrieben, das mir, wenn die Maus eingesteckt ist, sagt, dass sie eingesteckt ist, und wenn nicht, dann sagt es mir, dass es nicht eingesteckt ist. Tut es aber nicht 😈
1 2 3 4 5 6 7 8 9 10 | #!/bin/bash var=$(lsusb | grep "Mouse") if [ -n $var ] then echo 'Die Maus ist eingesteckt.' else echo 'Die Maus ist nicht eingesteckt.' fi |
Wenn die Maus eingesteckt ist, bekomme ich immer diese Ausgabe:
./mouse_touchpad.sh: Zeile 5: [: Zu viele Argumente.
Die Maus ist nicht eingesteckt.
Und wenn sie nicht eingesteckt ist:
Die Maus ist eingesteckt.
Woran liegt das? -n
steht ja für »nicht leerer String« und das trifft ja zu, wenn die Maus eingesteckt ist, und nicht wenn sie nicht eingesteckt ist.
Viele Grüße,
Jakob.