Пример 11-14. Изменение значений позиционных параметров (аргументов)

Пример 11-14. Изменение значений позиционных параметров (аргументов)

#!/bin/bash

variable="one two three four five"

set -- $variable

# Значения позиционных параметров берутся из "$variable".

first_param=$1

second_param=$2

shift; shift # сдвиг двух первых параметров.

remaining_params="$*"

echo

echo "первый параметр = $first_param" # one

echo "второй параметр = $second_param" # two

echo "остальные параметры = $remaining_params" # three four five

echo; echo

# Снова.

set -- $variable

first_param=$1

second_param=$2

echo "первый параметр = $first_param" # one

echo "второй параметр = $second_param" # two

# ======================================================

set --

# Позиционные параметры сбрасываются, если не задано имя переменной.

first_param=$1

second_param=$2

echo "первый параметр = $first_param" # (пустое значение)

echo "второй параметр = $second_param" # (пустое значение)

exit 0

См. так же Пример 10-2 и Пример 12-40.

unset

Команда unset удаляет переменную, фактически -- устанавливает ее значение в null. Обратите внимание: эта команда не может сбрасывать позиционные параметры (аргументы).

bash$ unset PATH

bash$ echo $PATH

bash$