Регулярное выражение bash для соответствия части имени хоста и игнорирования последних символовLinux

Ответить Пред. темаСлед. тема
Anonymous
 Регулярное выражение bash для соответствия части имени хоста и игнорирования последних символов

Сообщение Anonymous »

мы протестировали следующий скрипт - script.sh на имени хоста компьютера - presto-data1-01 , но кажется, что это регулярное выражение presto-data+([[:digit:]]) недостаточно хорошо.
машины-хосты являются примером:

Код: Выделить всё

presto-data1-01
presto-data1-02
presto-data1-03
или

Код: Выделить всё

presto-data2-01
presto-data2-02
presto-data2-03
или

Код: Выделить всё

presto01
presto02
presto03
и т. д.
мой сценарий и пример

Код: Выделить всё

more /tmp/script.sh

#!/usr/bin/env bash
hostname=$(hostname -s)

shopt -s extglob

case $hostname in

presto+([[:digit:]]))
bash /home/presto.sh;;

presto-data+([[:digit:]]))
bash /home/presto-data.sh;;
*)  echo "Unrecognized hostname $hostname" ;;
esac

bash  /tmp/script.sh
Unrecognized hostname presto-data1-01
имя моего компьютера:

Код: Выделить всё

[root@presto-data1-01 # hostname -s
presto-data1-01
что нам нужно исправить в регулярном выражении — presto-data+([[:digit:]]) , чтобы соответствовать примеру presto-data1 и игнорировать символы после presto-data1 как "-01"

Подробнее здесь: https://stackoverflow.com/questions/783 ... characters
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»