Il comando shift
in Bash è utilizzato per spostare gli argomenti posizionali a sinistra. Questo significa che il primo argomento (posizione 1) viene rimosso e gli argomenti successivi vengono spostati in avanti. È utile quando si desidera elaborare gli argomenti in modo sequenziale.
La sintassi di base del comando shift
è la seguente:
shift [n]
Dove n
è il numero di posizioni da spostare. Se n
non è specificato, il valore predefinito è 1.
n
: Specifica il numero di posizioni da spostare. Se non fornito, shift
sposta di 1 posizione.#!/bin/bash
echo "Argomento 1: $1"
echo "Argomento 2: $2"
shift
echo "Dopo shift:"
echo "Argomento 1: $1"
echo "Argomento 2: $2"
In questo esempio, il primo argomento viene rimosso e il secondo diventa il primo.
#!/bin/bash
echo "Argomento 1: $1"
echo "Argomento 2: $2"
shift 2
echo "Dopo shift di 2:"
echo "Argomento 1: $1"
echo "Argomento 2: $2"
Qui, spostiamo due posizioni, quindi gli argomenti 1 e 2 vengono rimossi.
#!/bin/bash
while [ "$#" -gt 0 ]; do
echo "Elaborando: $1"
shift
done
Questo script continua a elaborare gli argomenti finché ce ne sono.
shift
all’interno di cicli per elaborare gli argomenti uno alla volta.shift
.