Bun, asta inseamna ca m-am inselat in feeling-ul meu si bash este in 
stare sa faca substitutia de variabile inainte de a executa case-ul.

Partea asta insa cu "a | b" sigur nu va merge dat fiind ca "a | b" este 
un string. Sintaxa case-ului poate de forma "case $var in pattern1 | 
pattern2... ".

Nu poti de exemplu sa pui parti din fraza sintactica intr-o variabila si 
sa te astepti ca bash-ul sa faca multiparsing (un parser sa substituie 
variabila dupa care sa vina alt parser care sa interpreteze fraza). E ca 
si cum ai da
    x="if true; then echo ok; fi"
si te-ai astepta ca
    $x
sa-ti afiseze ok.

Poti in schimb sa faci alta chestie. Sa faci un script care sa genereze 
alt script si care sa-l execute alt proces bash.
Gen: genscript | bash

rpetre wrote:

>uite:
>
>~# cat test
>#!/bin/bash
>i="a"
>j="a"
>
>case $i in
>
>"$j" ) echo 2
>;;
>esac
>~# sh test
>2
>
>merge, dar cu j="a | b" nu merge...
>  
>



--- 
Detalii despre listele noastre de mail: http://www.lug.ro/


Raspunde prin e-mail lui