[linux] progr. premennych v shelly

Oskar Stolc stolc na intrak.tuke.sk
Středa Srpen 15 18:45:35 CEST 2001


> Zdravim,

Cau,

> potreboval by som jednu sahovinu:
> 
> V skripte mam premenne INPUT1, INPUT2, INPUT3 a potreboval by som sa na ne
> odkazovat pomocou premennej v cykle>
> 
> subor DATA/user:
> INPUT=
> INPUT1=
> ....
> 
> DATA=/usr/local/data
> 
> for file in $DATA/* ; do
>     . $file
>     SUM=$(cat $INPUT)
>     for i in 1 2 3; do
>          if [ ${INPUT${i}:-empty} != "empty" ]; then
>            SUM = $(( $SUM - $(cat $INPUT{i}) ))
>          fi
>     done
> done
> 
> ale akosi sneda presvedcit :)))
> 
> vypisuje
> ./script.sh: ${INPUT${i}:-empty}: bad substitution
> 
> skusal som aj
> if [ ${INPUT$i:-empty} != "empty" ] ale to iste
> 
> Ktory zrucny admin mi pomoze 8-)))))

neviem, ci som presne pochopil, co chces, ale pozri sa na toto:

---------------------------------------------
aaa1=jeden
aaa2=dva
 
for poradie in 1 2 ; do
	nazov="aaa"$poradie
	eval echo $(echo \$$nazov)
done
---------------------------------------------

vrati ti ratazce 'jeden' a 'dva'

> 
> Dik. Stobi

Oskar




Další informace o konferenci linux