options_test.sh 946 B

1234567891011121314151617181920212223242526272829303132
  1. #!/bin/bash
  2. usage() {
  3. echo "Скрипт $(basename $0) предназначен для демонстрации возможностей getopts."
  4. echo ""
  5. echo "Использование: `basename $0` -abef -c C -d D"
  6. echo -e " \033[1mОпции:\033[0m"
  7. echo " -a | -b Две опции для одного действия"
  8. echo " -c Опция с аргументом"
  9. echo " -d Еще опция с аргументом"
  10. echo " -e Опция без аргумента"
  11. echo " -f Еще опция без аргумента"
  12. }
  13. if [ $# -eq 0 ] ; then
  14. usage
  15. fi
  16. while getopts "abc:d:ef" Option
  17. do
  18. case $Option in
  19. a | b ) echo "Действие 1: опция - $Option. Номер опции: $OPTIND. Аргумент: $OPTARG";;
  20. * ) echo "Выбран недопустимый ключ."
  21. usage
  22. exit $E_OPTERROR;; # По-умолчанию
  23. esac
  24. done
  25. shift $(($OPTIND - 1))
  26. exit 0