set es una orden que permite fijar muchas características relacionadas con la ejecución de los shell-scripts, por ejemplo set -v hace que el shell imprima las líneas conforme las va leyendo, y set -x hace que imprima las órdenes y sus argumentos conforme se van ejecutando, con set +v y set +x se desactiva.
Pero set sin opciones que empiecen por – o +, tiene otra funcionalidad que en muchas ocasiones resulta muy útil: set lista_de_palabras asigna la primera palabra a $1, la segunda a $2 y así sucesivamente, lo cual resulta muy práctico para descomponer una frase en palabras.
1 2 3 4 5 6 |
#!/bin/bash set a `ls -1 | grep patron` for i in $* do echo $i done |