LINUX.ORG.RU

распарсить ключи


0

0

Скрипт принимает ключи: -a -b -c -d и список файлов для обработки Порядок их расположения любой и количество тоже. Как их распознать?

Вариатн первый приходящий в голову

res=`echo $* | greep -a`
if [ $res ]; then
a=on
line=`echo $* | sed -n 's/-a//p'`
fi

...

както кажется нерациональным

anonymous

Ответ на: комментарий от phoenix

стандартным является getopts(1)

но он нужен только если нужно парсить ключи вида -ab а так можно case в цикле обойтись

dilmah ★★★★★
()
Ответ на: комментарий от anonymous

        TMPLDEFAULT=0
        LOCAL=0

        while getopts lD optname > /dev/null 2>&1; do
            if test "$optname" = "D"; then
                TMPLDEFAULT=1
            elif test "$optname" = "l"; then
                LOCAL=1
            else
                echo Unknown option 1>&2
                usage 1>&2
                exit 1
            fi
        done
        shift `expr $OPTIND - 1`

dilmah ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.