Linux:Рецепты/Обработать большое количество аргументов в BASH скрипте: различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) |
Myagkij (обсуждение | вклад) |
||
Строка 23: | Строка 23: | ||
{{Примечание1| | {{Примечание1| | ||
'''$#''' - здесь хранится количество переданных аргументов, после выполнения команды shift, оно уменьшается на 1. | |||
}} | }} | ||
{{Примечание1| | {{Примечание1| | ||
К переданным аргументам можно получить доступ через переменные вида: $1, $2, $3 и т.д. до $9. Для получения доступа к переменным больше $9, используйте {}: ${10}, ${11} и т.д. | |||
}} | }} | ||
{{Примечание1| | {{Примечание1| | ||
Каждый раз когда выполняется команда shift, значение $2 перемещается в $1, $3 в $2 и т.д. | |||
}} | }} | ||
Текущая версия от 10:13, 6 августа 2023
Проверка/Оформление/Редактирование: Мякишев Е.А.
Обработать большое количество аргументов в BASH скрипте
Проблема
Ваш Bash скрипт получает большое количество аргументов и вам необходимо их обработать.
Решение
Для этого подойдет команда shift, ниже код для примера обработки переданных аргументов:
count=1
while [[ $# -gt 0 ]]; do
echo "Аргумент $count = $1"
count=$((count+1))
shift
done
См.также
Внешние ссылки