[ksh] expanding parameters

Pagina: 1
Acties:

  • Dash2in1
  • Registratie: November 2001
  • Laatst online: 31-08 22:49
(Ben niet zeker waar dit zou moeten)
Waarschijnlijk ligt het antwoord erg voor de hand, maar ja, ik kom er niet verder mee:

code:
1
2
3
4
5
6
#!/bin/ksh

while read line 
  do
    iets $line
  done


Nu is me probleem in $line staat weer een variabele .. deze wil ik ook compleet expanden, hoe?? het lukt steeds niet |:(

Verwijderd

Zie de manual page van eval

probeer dit bijvoorbeeld eens:
X=`eval echo $line`
echo $X

Denk er wel aan dat dit een beveiligingslek kan zijn. Als je zelf niet de controle over de invoer hebt is het misschien handig om geen eval te doen op een $line met daarin speciale tekens anders dan de $.

  • Dash2in1
  • Registratie: November 2001
  • Laatst online: 31-08 22:49
Was niet de complete oplossing, maar hielp me goed op weg .. de oplossing was als volgt:

code:
1
2
3
4
5
6
#!/bin/ksh
while read line
  do
    set tmpfile=`eval echo $line`
    executable $line
  done


Bij puur het stuk wat jij gaf (maar dan zonder de 2e echo $X) ging hij gek genoeg het bestand met bestandsnaam wat in $line stond weergeven o.i.d.