Deine Frage-Antwort-Community
Frage stellen
    • Meinung des Tages: Böhmermann enthüllt Identität von YouTuber - wo liegen die Grenzen zwischen investigativem Journalismus und Doxing?
    • Bald sollen Beamte und Selbständige in die Rentenkasse einzahlen. Wie findet ihr das?
    • Was ist die unschönste Eigenschaft die man haben kann?
    • Wie sehr begleitet dich KI im Alltag?
    • Macht ihr Euch Gedanken über eure Altersversorgung oder habt sogar Angst vor Altersarmut?
    • Welchen Job würdest du wollen, wenn du im Mittelalter leben würdest?
    • Alle Beiträge
    • Radiokooperation mit Absolut HOT 🔥
    • Meinung des Tages
    • Themenspecial: Wechseljahre (mit der Influencerin blondbynana)
    • Blickwechsel: Deine Fragen an einen unheilbar kranken Lungenkrebspatienten
    • Ask Me Anything:
      Alle Blickwechsel
    • Ask Me Anything:
      Alle Themenspecials
    • gutefrage Tipps
    • gutefrage Highlights
    • Computer
    • Internet & Social Media
    • Kreativität, Freizeit & Hobby
    • Lokales, Reiseziele & Urlaub
    • Medien, Unterhaltung & Musik
    • Mode & Beauty
    • Software & Apps
    • Spiele & Gaming
    • Sport & Fitness
    • Alle Themenwelten
In wenigen Minuten
Antworten auf Deine Fragen.
Frage stellen
Du hast noch kein gutefrage Profil? Jetzt kostenlos erstellen
Profil Beiträge Antworten Antworten

verreisterNutzer

25.12.2019
Übersicht
0
Hilf. Antw.
1
Antwort
0
Beiträge
1
Danke
0
Komplim.
0
Freunde
XentriX5526
25.12.2019, 17:48
Shell-Script mit if-Abfrage?

Hallo,

irgendwie bin ich gerade Betriebs-Blind... wo ist dieser verdammte Fehler?

Dieses Skript wird mit einer udev-Regel getriggert.

Der Output lautet:

Device detected: sda
...not assignable!

...wenn ich einen USB-Strick einstecke...

Da dies aber doch auf die erste if-Abfrage zutrifft sollte heir stehen:

Device detected: sda

...it's the Master-Stick!

...zum Beitrag
Antwort
von verreisterNutzer
25.12.2019, 21:45

Hinter der eckigen Klammer [ verbirgt sich das Programm /usr/bin/[

Du musst ein Leerzeichen tippen, damit der Interpreter erkennt, dass es sich dort um den Aufruf eines Unix-Werkzeuges handelt. Das Programm [ entspricht dem Programm /usr/bin/test.

Wenn du ein POSIX-kompatibles Shell-Skript schreiben möchtest, vergleichst du korrekterweise wie folgt zwei Strings:

#!/bin/sh

a="A"
b="B"

if [ "$a" = "$b" ]; then
  # do something
fi

Die doppelten Klammern [[ und ]] sind nicht durch POSIX standardisiert.

Tipp: Schreibe deine Logik in Funktionen und rufe am Ende eine Funktion (ähnlich zur bekannten main Funktion) auf, die die einzelnen Funktionen aufruft.

...zur Antwort
gutefrage
  • Beitrag erstellen
  • Stöbern
  • Alle Themen
  • Hilfe / FAQ
  • Richtlinien
  • gutefrage Highlights
Partner
  • Businesspartner
  • Partner werden
Unternehmen
  • Über uns
  • Jobs
  • Kontakt
  • Presse
Rechtliches
  • Impressum
  • Datenschutz
  • AGB
  • Utiq verwalten
Weil es immer jemand weiß.
gutefrage ist so vielseitig wie keine andere Frage-Antwort-Plattform. Bei uns findest Du schnell neue Perspektiven - egal zu welchem Thema.
Gmacht in Minga. Mit
❤
Facebook Pixel