Что означает -S в gksu - -S mount…?

Для этого может использоваться команда tail . Он дает вам последние несколько (по умолчанию 10) строк ввода в качестве вывода (его «хвост»).

С помощью флага -n вы можете точно указать, какую часть хвоста вы хотите иметь:

aws ec2 ... | sort | tail -n 1

Чтобы убедиться, что он соответствует правильному формату, вы можете сделать

line="$( aws ec2 ... | sort | tail -n 1 )"

if [[ ! "$line" =~ ^amzn-ami-[0-9]{4}\.[0-9]{2}\.[a-z]-amazon-ecs-optimized\ ami-[0-9a-z]{8}$ ]]; then
    echo "bad string"
    exit 1
fi

Если вы хотите только последний бит последней строки, используйте cut , чтобы вырезать его:

line="$( aws ec2 ... | sort | tail -n 1 | cut -d ' ' -f 2 )"

Бит -d '' -f 2 говорит "использовать пробел в качестве разделителя полей и дайте мне второе поле ".

Тогда и регулярное выражение станет короче:

if [[ ! "$line" =~ ^ami-[0-9a-z]{8}$ ]]; then
    echo "bad string"
    exit 1
fi
1
23.04.2016, 15:34
0 ответов

Теги

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