V
e
r

l
i
s
t
a
d
o

tractatus@lapipaplena:/# _

 

shift

En un script, permite desplazar los parámetros, de modo que el valor del 1er parámetro ($1) es reemplazado por el valor del 2do parámetro ($2), el del 2do parámetro ($2) por el del 3er parámetro ($3) y así sucesivamente. Veamos un ejemplo:

$ mkdir tmp (creamos directorio de trabajo)
$ cd tmp (entramos en él)
$ touch {1..5}.txt (creamos varios archivos de texto)

Creamos un script con el siguiente contenido:

#!/bin/bash
#
## Entrar un numero variable de archivos
## como argumentos y comprimirlos con zip
i=1
while [ $# -gt 0 ]; do
zip ${1%%.*}.zip $1
i=$(($i+1))
shift
done
echo

Lo ejecutamos con algunos archivos como argumentos.

./script.sh 1.txt 2.txt 3.txt

Comprobamos el resultado, los borramos:

$ rm *.txt

Y probamos con otro número de argumentos.

Navegando por staredsi.eu aceptas las cookies que utilizamos en esta web. Más información: Ver política de cookies
[0] 0:bash*
1837 entradas - Acerca del Tractatus
La Pipa Plena 2018