ubuntuusers.de

Als Output nur 0 oder 1 oder True oder False

Status: Ungelöst | Ubuntu-Version: Ubuntu 16.04 (Xenial Xerus)
Antworten |

xcpt

Anmeldungsdatum:
1. Oktober 2013

Beiträge: 47

Hallo!

Ich arbeite gerade an einem Projekt und würde gerne wissen ob mal auf der Konsole Abfragen machen kann wo man nur 1 oder 0 bzw. True oder Fals als Ausgabe bekommt?

Es geht im speziellen darum, dass ich nur wissen will ob eine Webseite z.B. Online ist oder nicht.

Der zweite Punkt wäre dann, dass ich bei grep als Ergebnis nur 1 oder 0 oder True oder False als Anwort bekomme, weil mich da wo ich es anwenden möchte nur interessiert ob es da ist oder nicht.

PS: Evtl. ob man irgendwie abfragen kann ob ein Programm/Befehl installiert ist oder nicht, wäre auch sehr hilfreich. aber ich glaube das finde ich auch selbst. ☺

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13219

xcpt schrieb:

Ich arbeite gerade an einem Projekt und würde gerne wissen ob mal auf der Konsole Abfragen machen kann wo man nur 1 oder 0 bzw. True oder Fals als Ausgabe bekommt?

Seltsame Frage. Was ist eine "Abfrage"? Generell liefert jeder Prozess per Konvention 0 im Erfolgsfall und einen Wert ungleich 0 bei Fehlern. Das kann man mit den üblichen Mitteln der Shell auswerten - also, z.B. if und && bzw. ||. Der Wert ist außerdem in der Variable $? gespeichert.

Es geht im speziellen darum, dass ich nur wissen will ob eine Webseite z.B. Online ist oder nicht.

Du kannst curl nehmen und den Rückgabewert auswerten:

1
2
3
4
$ curl -so /dev/null --connect-timeout 1 http://www.google.de:82/ && echo ja || echo nein
nein
$ curl -so /dev/null --connect-timeout 1 http://www.google.de/ && echo ja || echo nein
ja

Du kannst auch nc verwenden, um herauszufinden, ob jemand an einem Port lauscht:

1
2
3
4
$ nc -z -w 1 www.google.de 82 && echo ja || echo nein
nein
$ nc -z -w 1 www.google.de 80 && echo ja || echo nein
ja

Der zweite Punkt wäre dann, dass ich bei grep als Ergebnis nur 1 oder 0 oder True oder False als Anwort bekomme, weil mich da wo ich es anwenden möchte nur interessiert ob es da ist oder nicht.

Nimm grep -q und werte den Rückgabewert aus.

Evtl. ob man irgendwie abfragen kann ob ein Programm/Befehl installiert ist oder nicht, wäre auch sehr hilfreich. aber ich glaube das finde ich auch selbst. ☺

type programmname hilft i.d.R.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9781

Wohnort: Münster

xcpt schrieb:

[…] Evtl. ob man irgendwie abfragen kann ob ein Programm/Befehl installiert ist oder nicht, wäre auch sehr hilfreich. aber ich glaube das finde ich auch selbst. ☺

type wurde schon genannt; hilfreich können auch die Programme which, whatis und whereis sein, z.B.:

1
2
3
4
5
6
7
8
klaus@lieselotte:~$ whatis dash
dash (1)             - command interpreter (shell)
klaus@lieselotte:~$ whatis whatis 
whatis (1)           - durchsucht die Indexdatenbank nach Kurzbeschreibungen
klaus@lieselotte:~$ whatis nirwana
nirwana: nichts passendes.
klaus@lieselotte:~$ whatis nirwana 2>/dev/null ; echo $?
16
Antworten |