Как проверить, все ли элементы массива равны в bash?

Это известная ошибка , которая уже исправлена ​​в git.
Если вы не хотите ждать, пока 3.18 станет доступным в репозиториях Debian, у вас есть два варианта:

  • быстрый и грязный взлом:
    {{1 }} закройте инструмент настройки и от имени пользователя root откройте /usr/lib/python2.7/site-packages/gtweak/tweaks/tweak_group_xkb.py

    найдите строку вроде

      renderer.props.max_width_chars = 30 
     

    и измените ширину по своему вкусу, например

      renderer.props.max_width_chars = 100 
     

    сохраните изменения, затем перезапустите инструмент настройки.

  • исправляет вышеупомянутый файл, используя разницу из здесь ; результат:

    enter image description here

15
25.12.2017, 15:30
1 ответ

Используйте цикл for для сравнения каждого элемента массива со следующим. Завершите цикл на одну итерацию меньше, чем длина массива, чтобы избежать сравнения последнего элемента с ничем в конце.

for (( i=0; i<((${#array[@]}-1)); i++ )); do
    [ "${array[$i]}" != "${array[(($i+1))]}" ] && echo "Mismatch"
done
echo "Match"
0
27.01.2020, 19:49

Теги

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