Почему этот regex не работает?

Вы могли.

Установите то же распределение на другую машину или VM, и используйте chmod --refer синхронизировать полномочия для /var

3
07.11.2013, 12:12
1 ответ

Вы соответствуете против целой строки, не каждой строки строки, как таковой, Вы действительно тестируете против ## в этом regex.

grep лучший выбор для этого:

if ! git status -s | grep -q '^??'; then
    echo "no match"
fi

Согласно просьбе можно сделать то же для добавленного/измененного/удаленного:

git status -s | grep '^ *[AMD]'

Вы могли бы также хотеть изучить git status --porcelain (опция, которая сначала появилась в 1.7.0), который более ориентирован к парсингу.

5
27.01.2020, 21:17
  • 1
    Спасибо – который был довольно очевидной ошибкой! Я использую grep теперь, как предложено, и я изучу --porcelain. –  Will Vousden 07.11.2013, 12:41

Теги

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