Instrukcja shift
pozwala usunąć podany do skryptu z linii komend parametr.
Składnia instrukcji shift
shift
liczba_parametrów
Parametr liczba parametrów
Parametr liczba parametrów – określa ilość parametrów linii poleceń do usunięcia. Usuwanie zaczyna się od parametru $1
. Parametr liczba parametrów jest opcjonalny jeżeli go nie określimy zostanie usunięty jeden parametr linii poleceń.
Przykład użycia instrukcji shift
#!/bin/bash echo $1 shift echo $1 shift 2 echo $1
Wynikiem wykonania skryptu z parametrami 1,2,3,4 będzie:
$ . polecenie_shift.sh 1 2 3 4 1 2 4
Jak widać pierwsze wywołanie instrukcji shift usuwa wartość pierwszego parametru (1) i przesuwa resztę parametrów o jeden w lewo. Wartość drugiego parametru ($2
) jest przesuwana do pierwszego ($1
), trzeciego ($3
) do drugiego ($2
) itd. Drugie wywołanie usuwa dwa kolejne parametry i wartość 4 zostaje zapisana w zmiennej $1
.
Najczęściej instrukcja shift
wykorzystywana do wykonywania jakiejś operacji w pętli (np. ) na wszystkich parametrach np. z pętlą while
:
#!/bin/bash while [ "$#" -gt "0" ] do echo $1 shift done
W kursie ukazały się następujące części: