Перейти на домашнюю страницу

bash, Переменные, аргументы и команда shift

Источник: Advanced Bash-Scripting Guide by Mendel Cooper

shift - сдвигает аргументы влево.

Значение переменной ${1} при этом теряется.
Значение переменной ${0} не теряется никогда.

Пример:

${0} ${1} ${2} ${3} ${4} ${5}

shift

Результат:

${0} ${2} ${3} ${4} ${5}

Но по факту обращаемся к переменным как:

${0} ${1} ${2} ${3} ${4}

* * *

Пример обращения ко всем поступившим аргументам, используя только $1 и shift

#!/bin/bash

echo "Переданные аргументы:"

until [ -z "$1" ]
do
  echo "$1"
  shift
done

echo "Имя скрипта: $0"

exit

#bash

2019-08-20 21:53:32