Volver al índice


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.


Volver al índice