Variables globales en bash

Tengo mañana un examen de bash, y me ha surgido una duda con las variables globales, que no sabia, al hacer un while se te ejecuta en otra terminal por lo que no se acceder a las variables desde fuera del bucle, y claro la solucion que se me ha ocurrido es bastante chapucera, aqui bajo la teneis

#!/bin/bash
memtemp=`mktemp`
portemp=`mktemp`
memoria=0
porcentaje=0
echo $porcentaje > $portemp
echo $memoria > $memtemp
ps aux | egrep "^$1\ .*" | while read line; do
     m=`echo $line | awk '{ print $5 }'`
     p=`echo $line | awk '{ print $4 }'`
     porcentaje=$(  echo "scale=2; $porcentaje + $p" | bc )
     memoria=$( echo "scale=2; $memoria + $m" | bc )
     echo $porcentaje > $portemp
     echo $memoria > $memtemp
done
echo "$1: `cat $memtemp` kb ( `cat $portemp` % )"
rm $memtemp $portemp


¿Como puedo hacer variables globales?
0 respuestas