Bash Wiki
Posts (Latest 30 updated) :
Read all
Contents:
  1. [Linux] Bash shift uso equivalente: Sposta le posizioni degli argomenti
    1. Overview
    2. Usage
    3. Common Options
    4. Common Examples
      1. Esempio 1: Spostare di una posizione
      2. Esempio 2: Spostare di più posizioni
      3. Esempio 3: Elaborare tutti gli argomenti
    5. Tips

[Linux] Bash shift uso equivalente: Sposta le posizioni degli argomenti

Overview

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.

Usage

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.

Common Options

  • n: Specifica il numero di posizioni da spostare. Se non fornito, shift sposta di 1 posizione.

Common Examples

Esempio 1: Spostare di una 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.

Esempio 2: Spostare di più posizioni

#!/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.

Esempio 3: Elaborare tutti gli argomenti

#!/bin/bash
while [ "$#" -gt 0 ]; do
    echo "Elaborando: $1"
    shift
done

Questo script continua a elaborare gli argomenti finché ce ne sono.

Tips

  • Utilizza shift all’interno di cicli per elaborare gli argomenti uno alla volta.
  • Ricorda che dopo aver spostato gli argomenti, gli argomenti precedenti non sono più accessibili.
  • Se hai bisogno di mantenere gli argomenti originali, considera di copiarli in un array prima di utilizzare shift.