Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: marty 01. 11. 2012, 03:23:49
-
Ahoj, řeším následující problém...
Z cronu spouštím skript wakeup.sh. A za skriptem mám jaké PC budu chtít zapnout.
55 1 * * * /cesta/ke/scriptu/wakeup.sh JMENOPOCITACE1
#!/bin/bash
JMENOPOCITACE1="AA:BB:CC:DD:EE:F1"
JMENOPOCITACE2="AA:BB:CC:DD:EE:F2"
for pc in "$@"
do
echo $pc
wakeonlan $pc
done
Když skript zavolám, tak
./wapeup.sh JMENOPOCITACE1
výsledek je:
wakeonlan JMENOPOCITACE1
Ale já bych potřeboval aby se skript provedl takto:
wakeonlan MACADRESAPOCITACE
Zkoušel jsem třeba:
wakeonlan $($pc)
Tak to ale nejde.
Předem díky za jakoukoli radu :-)
-
mac=$(eval echo \$$pc)
echo $mac
... napriklad
-
Bash už umí asociativní pole, takže třeba
declare -A PC
PC[karel]="AA:BB:CC"
PC[pepa]="EE:FF:00"
echo ${PC[karel]}
-
Alebo skusit nieco taketo:
#!/bin/bash
JMENOPOCITACE1="AA:BB:CC:DD:EE:F1"
JMENOPOCITACE2="AA:BB:CC:DD:EE:F2"
for pc in "$@"
do
echo ${!pc}
done