Команда Shift в Linux с примерами

Опубликовано: 16 Февраля, 2022

Shift - это встроенная команда в bash, которая после выполнения сдвигает / перемещает аргументы командной строки на одну позицию влево. Первый аргумент теряется после использования команды shift. Эта команда принимает в качестве аргумента только одно целое число. Эта команда полезна, когда вы хотите избавиться от аргументов командной строки, которые не нужны после их анализа.

Синтаксис:

сдвиг n

Здесь n - это количество позиций, на которое вы хотите сдвинуть аргументы командной строки влево, если вы не укажете, значение по умолчанию n предполагается равным 1, т.е. shift работает так же, как shift 1.

Пример: давайте создадим файл сценария оболочки с именем sampleshift.sh следующим образом. Общее количество аргументов командной строки представлено символом $ #. Используйте следующую команду для создания желаемого файла сценария оболочки

vi sampleshift.sh

Теперь вставьте следующий код:

#!/bin/bash

# total number of command-line arguments
echo "Total arguments passed are: $#"

# $* is used to show the command line arguments
echo "The arguments are: $*"

echo "The First Argument is: $1"
shift 2

echo "The First Argument After Shift 2 is: $1"
shift

echo "The First Argument After Shift is: $1"

Теперь, чтобы сохранить файл, нажмите ESC, затем введите «: x» без кавычек и нажмите Enter. Теперь, чтобы выполнить файл, используйте следующую команду в терминале Linux

 sh sampleshift.sh

Но здесь мы должны передать аргументы командной строки, чтобы мы могли использовать следующую команду

 sh sampleshift.sh G1 G2 G3 G4

Здесь мы передаем 4 аргумента командной строки с именами G1, G2, G3 и G4. Ниже приведен снимок экрана с результатами использования команды shift: