Deine Frage-Antwort-Community
Frage stellen
    • Meinung des Tages: Rekordzahlen bei Betrugsversuchen bei Führerscheinprüfungen - was kann dagegen getan werden?
    • Kann jemand dieses Rätsel lösen? 🤔
    • Sollte Deutschland Reparationszahlungen an Namibien leisten?
    • Welche Spiele habt ihr mehrmals durchgespielt :)?
    • Ist es okay in den See zu strullern, wenn man muss?
    • Wie findet Ihr das Tattoo des US-Verteidigungsministers?
    • Alle Beiträge
    • Feierabendfrage 🛋🌙
    • Meinung des Tages
    • Themenspecial: Ausbildungsstart im Handwerk 🛠️
    • Blickwechsel: Deine Fragen an eine unheilbar depressive Person
    • 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