[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: definir temporalment variable per a l'ordre actual



__________
I'm using this express-made address because personal addresses aren't
masked enough at this mail public archive. Public archive administrator
should fix this against automated addresses collectors.
El 16/5/19 a les 19:46, Ernest Adrogué ha escrit:
> 2019-05-16, 17:21 (+0200); Josep Lladonosa escriu:
>> El que puc aportar és que si es vol un valor de variable permanent després
>> de sortir de l'embolcall es fa:
>>
>> export foo=1; sh
>> $ echo $foo
>> 1
>> $ exit
>> $ echo $foo
>> 1
> 
> Sí, però en aquest cas el que volia és el contrari: modificar l'entorn
> d'aquella ordre en concret i prou.
> 
> De totes maneres punts extra per utilitzar la paraula embolcall ;)
> 
> Salut
> 

Això és el què arranjaria el teu exemple, encara que sembli absurd:
$ foo=1 echo 1

Perquè una assignació a una variable no seria vigent fins a la següent
instrucció (amb el punt i coma o amb diferent línia).

El programa cridat rep la variable DINS la seva execució:
[fitxer +x programa.sh]
#!/bin/sh
echo $foo
[/fitxer]

Amb això també funcionaria:
$ foo=1 programa.sh

És per això que la tècnica funciona per a obrir un programa en una altra
llengua (aquí l'anglès):
$ LANG=en nano
$ LANG=en lowriter

I la demostració de tot plegat és fer-ho segons el teu exemple:
$ LANG=en nano $LANG
(fixa't en el nom de fitxer que edita nano, amb el valor sense canviar)


Reply to: