Ik export onder een variabele ifx de naam van de interface die ik wil gebruiken in daarop volgende code (nb: iptables script). Maar, aan die interface, c.q. ifx waarde, zitten weer enkele 'persoonlijke' waardes vast, die ik een variabele-naam wil geven van de waarde van $ifx plus een stukje herkenningscode zoals b.v. _address. Zie voorbeeldcode:
exporteren waarde ifx:
export ifx=eth0
interface gebonden waarde
export ${ifx}_address=192.68.0.1
Tot aan hier werkt het prima, nu bestaat er dus een variabele genaamd $ifx met waarde eth0 en $eth0_address met een waarde van 192.168.0.1.
Maar, als ik nu verderop in de code de waarde bij de waarde van ifx met _address erachter wil ophalen gaat het mis. Ik doe het als volgt:
$[${ifx}_address]
dit werkt alleen al is de waarde van ${ifx}_address (dus $eth0_address in dit geval) numeriek. Het werkt dus niet bij niet numerieke characters.
bewijs:
werking zoals ik het wil
export ifx=eth0
export ${ifx}_address=12345
echo $[${ifx}_address]
> 12345
werkt niet bij niet numeriek, geeft gewoon 0 als echo
export ifx=eth0
export ${ifx}_address=niet-numerieke-waarde
echo $[${ifx}_address]
> 0
Al heeft iemand een oplossing om dit idee tot stand te brengen met niet numerieke waardes, desnoods andere aanpak, dan hoor ik het graag.
exporteren waarde ifx:
export ifx=eth0
interface gebonden waarde
export ${ifx}_address=192.68.0.1
Tot aan hier werkt het prima, nu bestaat er dus een variabele genaamd $ifx met waarde eth0 en $eth0_address met een waarde van 192.168.0.1.
Maar, als ik nu verderop in de code de waarde bij de waarde van ifx met _address erachter wil ophalen gaat het mis. Ik doe het als volgt:
$[${ifx}_address]
dit werkt alleen al is de waarde van ${ifx}_address (dus $eth0_address in dit geval) numeriek. Het werkt dus niet bij niet numerieke characters.
bewijs:
werking zoals ik het wil
export ifx=eth0
export ${ifx}_address=12345
echo $[${ifx}_address]
> 12345
werkt niet bij niet numeriek, geeft gewoon 0 als echo
export ifx=eth0
export ${ifx}_address=niet-numerieke-waarde
echo $[${ifx}_address]
> 0
Al heeft iemand een oplossing om dit idee tot stand te brengen met niet numerieke waardes, desnoods andere aanpak, dan hoor ik het graag.