He recogido, probablemente en Usenet a mediados de la década de 1990 (!), Que el constructo
export var=value
es un Bashismo, y que la expresión portátil es
var=value
export var
He estado abogando por esto durante años, pero recientemente, alguien me desafió al respecto, y realmente no puedo encontrar ninguna documentación que respalde lo que solía ser una creencia sólida mía.
Buscar en Google "export: command not found"
no parece mostrar ningún caso en el que alguien haya tenido este problema, por lo que incluso si es genuino, supongo que no es muy común.
(Los éxitos que consigo parecen ser novatos que copiar / pegar puntuacion, y terminó con 'export: command not found
o algunos de tales, o está tratando de utilizar export
con sudo
y novatos csh
. Usuarios que intentan utilizar la sintaxis Bourne shell)
Ciertamente, puedo decir que funciona en OS X y en varias distribuciones de Linux, incluidas las que sh
están dash
.
sh$ export var=value
sh$ echo "$var"
value
sh$ sh -c 'echo "$var"' # see that it really is exported
value
En el mundo de hoy, ¿es seguro decir que export var=value
es seguro de usar?
Me gustaría entender cuáles son las consecuencias. Si no es portátil para v7 "Bourne classic", eso es apenas más que trivialidades. Si hay sistemas de producción donde el shell realmente no puede hacer frente a esta sintaxis, sería útil saberlo.
busybox
viene con su propio caparazón mínimo? (No estoy en condiciones de intentarlo en este momento).