Bash If Abfrage | Kommando nicht gefunden

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Skillkiller
Beiträge: 30
Registriert: 27.07.2016 12:49:05
Lizenz eigener Beiträge: MIT Lizenz

Bash If Abfrage | Kommando nicht gefunden

Beitrag von Skillkiller » 30.08.2016 01:12:52

Hallo,
ich versuche gerade ein Script zu schreiben bei dem eine String Länge einfach nur mit der Zahl 33 verglichen wird. Aber ich bekomme ständig den Fehler:

Code: Alles auswählen

./test.sh
33
./test.sh: Zeile 7: [33: Kommando nicht gefunden.
Der UserAuthKey scheint nicht zu stimmen
Hier das Script, kann mir jemand bitte erklären weshalb diese Abfrage einfach nicht gehen will
NoPaste-Eintrag39477

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Bash If Abfrage | Kommando nicht gefunden

Beitrag von rendegast » 30.08.2016 01:41:02

Code: Alles auswählen

if [$userkeylen -eq "33"];
Leerzeichen fehlen ->

Code: Alles auswählen

if [  $userkeylen -eq "33"  ];




Nach eigenen Vorlieben würde ich noch etwas modifizieren

Code: Alles auswählen

userkeylen=$(echo $userkey | wc -c)
echo $userkeylen
 
if [$userkeylen -eq "33"];
->

Code: Alles auswählen

userkeylen="$(echo "$userkey" | wc -c)"
echo "$userkeylen"
 
if [  "3$userkeylen" -eq "333"  ];
- Wenn die Befehlsausgabe mehrwortig ausfällt,
könnte es ungequotet eventuell Probleme beim Setzen der Variablen geben.
- 'test' reagiert manchmal allergisch, wenn leere Strings auftauchen sollten.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Antworten