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: