Ошибка при поиске на информационной странице.

Мое интуитивное представление о командах, позволяющих указать рабочий каталог, заключается в том, что это первый параметр. Это у вас правильно, хотя вы можете потерять командный переключатель -i.

Во-вторых, любые параметры с несколькими значениями (, такие как несколько конкретных подкаталогов -, которые вы хотите искать в ), должны быть последними. Таким образом, они не слишком мешают другим.

Предлагаю назвать вашу команду так:

~$ mycommand /my/root/dir "txt" -sdirs sub1 sub2 sub6

Bash и, возможно, shтакже имеют встроенную функцию shift, которая позволяет вам переключаться между заданными аргументами. Вы можете извлечь необходимую информацию из командной строки следующим образом:

#!/bin/bash

WORK_DIR="$1"
shift # shifts $2 to $1
FILE_END="$1"
shift
if [ "-sdirs" = "$1" ]; then
    shift # get to the sub dirs
    while [ -n "$1" ]; do # tests if there is a sub dir
        # *do your magic here*
        # $1 should be a sub dir
        # $WORK_DIR/$1/*$FILE_END for example

        # to the next one, break if nothing left
        shift || break
    done
else
    echo "No sub directories specified"
    exit 1
fi

Это то, что я бы сделал сразу. Дополнительная обработка ошибок уместна и оставлена ​​читателю в качестве упражнения.

1
16.04.2020, 19:12
1 ответ

Вы путаете infoс lessи другими пейджерами. infoне использует внешний пейджер и не реализует тот же набор привязок клавиш, что и lessи другие пейджеры. Чтобы перейти к следующему вхождению строки, нажмите Control-xn или используйте другие сочетания клавиш как описано в информация руководство . Также,п и н используются для совершенно разных целей:

n (next-node)
C-NEXT (on DOS/Windows only)

    Select the ‘Next’ node.

    The NEXT key is known as the PgDn key on some keyboards.
p (prev-node)
C-PREVIOUS (on DOS/Windows only)

    Select the ‘Prev’ node.

    The PREVIOUS key is known as the PgUp key on some keyboards.
1
19.03.2021, 02:28

Теги

Похожие вопросы