Deine Frage-Antwort-Community
Frage stellen
    • Meinung des Tages: 80% des Mindestlohns für Saisonarbeiter in der Landwirtschaft - wie denkt Ihr über diesen Vorschlag?
    • Offene Beziehung - Was haltet ihr davon?
    • Labubu: Niedlich oder doch Hässlich?
    • Wünscht du Menschen, die dir Schlechtes wünschen auch Schlechtes?
    • Welchen Traum habt ihr sehr oft geträumt?
    • Welche Titel gehören auf die Liste der 50 bedeutensten Computerspiele?
    • Alle Beiträge
    • Radiokooperation mit Absolut HOT 🔥
    • Meinung des Tages
    • Themenspecial: Polizei (mit BKA-Kriminaldirektor Andy Neumann) 🚓
    • Blickwechsel: Deine Fragen an einen Hiphop-Newcomer
    • 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