VARIABLES ESPECIALES

 

En UNIX existen unas variables especiales que pueden resultar útiles para conocer detalles sobre programas ejecutados, argumentos, etc.. Estas variables dependen de la shell utilizada, en el caso de ksh podemos destacar:

 

Veamos la diferencia entre $* y $@

$ set "1" "2" "a  c" "b"
$ for i in $*
	do
		echo "$i"
	done
1
2
a
c
b
$ for i in $@
	do
		echo "$i"
	done
1
2
a
c
b
$ for i in "$*"
	do
		echo "$i"
	done
1 2 a  c b
$ for i in "$@"
	do
		echo "$i"
	done
1
2
a  c
b

Es recomendable, como ya he comentado antes, encerrar el nombre de las variables entre llaves "{}", aunque no obligatorio.