encontré esto
channel_map = {
"2412" : 1,
"2417" : 2,
"2422" : 3,
"2427" : 4,
"2432" : 5,
"2437" : 6,
"2442" : 7,
"2447" : 8,
"2452" : 9,
"2457" : 10,
"2462" : 11,
"2467" : 12,
"2472" : 13,
"2484" : 14
}
¿Cómo convierto esto, para poder usar esto en un script bash?
Me gustaria definir
$ CANAL = 11
y el script debe usar la frecuencia correcta.
El comando que uso es, por ejemplo:
iw dev wlan0 ibss join $ESSID 2412 HT40+ fixed-freq $CELLID
Respuestas:
Creo que la respuesta que busca rubo77 es:
Una forma más compacta de hacerlo:
channel_map es una matriz. El
XYZZY
es un marcador de posición; se le asignará achannel_map[0]
.fuente
Si solo está buscando extraer el número correspondiente de ese archivo, intente:
dónde
map
está su archivo de entrada y$CHANNEL
está configurado para el canal que está buscando.fuente
No estoy seguro de su implementación completa, pero como una forma rápida de lograrlo ... Aunque, como dijo @Paul, la mayoría sé de tomar el número de canal en lugar de la frecuencia:
Asegúrese de guardarlo como whatever.sh y
chmod +x whatever.sh
. Luego puede escribir./whatever.sh 4
(desde el mismo directorio) y lo anterior hará eco2427
fuente