IP-маршрут не показывает весь маршрут

Это происходит потому, что shiftвыполняет сдвиг $2в $1независимо от того, какой текст у вас есть для падежей. Точная цель вашего сценария неясна, но, например, если вы хотите избежать этого, вы можете сделать что-то вроде:

while [[ "$1" != "" && "$2" != -* ]]; do
    case $1 in
        -f | --first )          shift
                                first=$1
                                ;;
        -s | --second )         shift
                                second=$1
                                ;;
        * )                     break
    esac
    shift
done

echo "first: "$first" second: "$second

Это позволит избежать манипуляций, если аргумент отсутствует.

Пример вывода:

$./script.sh --first a --second b
first: a second: b
$./script.sh --first --second b
first:  second: 
0
03.09.2021, 08:05
0 ответов

Теги

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