PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bash-Skript funktioniert mit nullglob nicht mehr



Linus
20-03-2014, 21:07
In dem Skript von http://true-random.com/homepage/projects/wifi/freewifi_autoconnect.sh habe ich am Anfang die beiden Zeilen



# null globbing
shopt -s nullglob


eingetragen um Null-Globbing zu verhindern, aber damit funktioniert das Skript nicht mehr richtig:



No old lock file found (ok).
Unloading unnecessary modules ...
List of 1 availible WIFI device(s): wlan0
Device wlan0: Old MAC = 6e:d6:f5:40:62:76
permanent MAC = c8:f7:33:bf:68:7d
./freewifi_autoconnect.sh: line 316: let: expression expected
./freewifi_autoconnect.sh: line 274: printf: `%x': not a valid identifier
./freewifi_autoconnect.sh: line 274: printf: `%x': not a valid identifier
./freewifi_autoconnect.sh: line 274: printf: `%x': not a valid identifier
./freewifi_autoconnect.sh: line 274: printf: `%x': not a valid identifier
./freewifi_autoconnect.sh: line 274: printf: `%x': not a valid identifier
./freewifi_autoconnect.sh: line 274: printf: `%x': not a valid identifier
./freewifi_autoconnect.sh: line 276: MACBYTESTRING[5]: unbound variable


Beim ersten Fehler in Zeile 316 steht nur

let MACBYTE[0]^=$x

wobei x als Integer deklariert ist (typeset -i x).
Wieso funktioniert das mit nullglob nicht und was müsste ich stattdessen
nehmen? :confused:

fork
26-07-2014, 00:29
Habe ich das richtig verstanden, Du möchtest nullglobing abschalten?

shopt -s nullglob verhindert nullglobbing nicht sondern es aktiviert es.

Tip: Schalte vor den entsprechenden Fehlerstellen mal die Ausgabe der Befehle vor Ausführung an mit set -x. Mit set +x kannst Du das wieder ausschalten.