Unterschied script - Konsole (gelöst)

Post Reply
Message
Author
Reader
Posts: 3
Joined: 02. Aug 2019 18:49

Unterschied script - Konsole (gelöst)

#1 Post by Reader »

Hallo,

bin neu im Forum und nicht sicher, ob ich hier mit meinem Problemchen richtig bin, weil es in diesem Bereich noch keine Beiträge gibt.
Na ja, ich versuch's mal.
Warum funktioniert

Code: Select all

if ping -c 1 www.heise.de &> /dev/null; then echo connected; else echo not_connected; fi
auf der Konsole und in einem bash-script nicht? Wenn ich die Ausgabe so im script umleite:
ping -c 1 www.heise.de > /dev/null 2>&1
funktioniert's auch im script.
Last edited by Reader on 04. Aug 2019 7:52, edited 1 time in total.

User avatar
hjb
Pro-Linux
Posts: 3264
Joined: 15. Aug 1999 16:59
Location: Bruchsal
Contact:

Re: Unterschied script - Konsole

#2 Post by hjb »

Hi,

willkommen! Der Code funktioniert bei mir auch im Skript, die Frage ist, was genau funktioniert bei dir nicht und wie ist dein Skript aufgebaut? Hast du "#!/bin/bash" in der ersten Zeile stehen und das Skript ausführbar gemacht?

Grüße,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?

Reader
Posts: 3
Joined: 02. Aug 2019 18:49

Re: Unterschied script - Konsole

#3 Post by Reader »

Hab den Fehler gefunden: hatte zwar #!/bin/bash im script stehen, dann das script aber mit sh test.sh gestartet, sodass er dann doch nicht die bash genommen hat. Danke trotzdem, das ist mir erst nach deiner Antwort aufgefallen.
Aber gleich noch eine andere Frage: wie kann ich den Rückgabewert von, z.B. ping, direkt einer Variablen zuweisen?

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

Re: Unterschied script - Konsole

#4 Post by Janka »

In bash:

Code: Select all

VARIABLE=$?
$? gibt den Rückgabewert des letzten Kommandos zurück.
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Reader
Posts: 3
Joined: 02. Aug 2019 18:49

Re: Unterschied script - Konsole

#5 Post by Reader »

Ja, aber ich wollte, ähnlich wie bei "test" den Befehl direkt auswerten. Na gut, dann mache ich das über $?.
Vielen Dank

Post Reply