Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Разбор аргументов, переданных скрипту  (Прочитано 486 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sla1733

  • Автор темы
  • Новичок
  • *
  • Сообщений: 28
    • Просмотр профиля
Всем привет. Может кто-нибудь подсказать решение для такой задачи. Нужно разобрать аргументы, переданные скрипту таким образом что бы для аргументов, переданных до определенного ключа выполнялись одни инструкции в скрипте, а для аргументов переданных после ключа (если они вообще передаются) выполнялись бы другие инструкции. Т. е. например:
script.sh 1 2 3 4 n -o 555Количество аргументов до ключа может быть любым. Вместо `-o` может быть любой другой ключ.

ТС не появлялся на Форуме более трех месяцев по состоянию на 19/03/2021 (последняя явка: 21/08/2020). Модератором раздела принято решение закрыть тему.
--zg_nico
« Последнее редактирование: 19 Марта 2021, 14:34:29 от zg_nico »

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7841
  • Eternally
    • Просмотр профиля
Re: Разбор аргументов, переданных скрипту
« Ответ #1 : 21 Августа 2020, 14:25:01 »
приблизительно как-то так:
Код: (bash) [Выделить]
while [[ $# -gt 0 ]]
do
key="$1"
case $key in
    -o) # Для ключа -о
    COMMAND $2
    shift # убираем -о
    shift # убираем его параметр
    ;;
    *)    # Для остального
    COMMAND $key   
    shift #
    ;;
esac
done
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

 

Страница сгенерирована за 0.03 секунд. Запросов: 25.