¿Cómo exportar las variables que están configuradas, todas a la vez?

set command set muestra todas las variables locales como a continuación. ¿Cómo exporto estas variables todas a la vez?

 >set a=123 b="asd asd" c="hello world" 

Ejecute el siguiente command, antes de configurar las variables:

 set -a 

página de hombre:

-a
Cuando esta opción está activada, el atributo de export se establecerá para cada variable a la que se realiza una asignación;

Para desactivar esta opción, ejecute set +a después.

Puede anteponer la export al nombre de la variable a través de awk y eval el resultado resultante:

 eval $(printenv | awk -F= '{ print "export " $1 }') 
 `echo "export" $((set -o posix ; set)|awk -F "=" 'BEGIN{ORS=" "}1 $1~/[a-zA-Z_][a-zA-Z0-9_]*/ {print $1}')` 
  1. Primero, obtenga todas las variables de entorno configuradas: (set -o posix ; set) Referencia: https://superuser.com/questions/420295/how-do-i-see-a-list-of-all- (set -o posix ; set) environment-variables-in-a-linux-ba

  2. Obtenga todos los nombres de variables de entorno, separados por espacio: awk -F "=" 'BEGIN{ORS=" "}1 $1~/[a-zA-Z_][a-zA-Z0-9_]*/ {print $1}' Referencia: awk-Imprimir valor de columna sin línea nueva y agregar coma y https://stackoverflow.com/questions/14212993/regular-expression-to-match-a-pattern-inside-awk-command

  3. Ahora, necesitamos exportar estas variables, pero xargs no puede hacer esto porque bifurca el process hijo, la export tiene que ejecutarse bajo el process actual. echo "export" ... construye un command que queremos, luego usa “ para ejecutarlo. Eso es todo: p.