Роя через некоторые СТАРЫЕ документы дистрибутива, кажется, что когда-то давно была названная утилита switchdesk
это заботилось о работе, требующей беготни, должен был изменить Настольные среды середина шага. Несколько дистрибутивов, кажется, все еще имеют его вокруг, но проект, кажется, не имеет дом в сети больше. Если Ваш дистрибутив имеет пакеты, Вы могли бы попробовать его, но Ваш millage будет, вероятно, варьироваться (для худшего).
Произвольное предположение: Ваш сценарий работает под set -e
(синоним: set -o errexit
), который заставляет оболочку выходить, если какие-либо команды возвращают ненулевое состояние (традиционно указание на отказ). Если так, это выйдет если diff
находит любое различие, потому что diff
возвращает состояние 1, если оно находит различия. Если это - проблема, то измените ту строку на
diff -r "$originalJarExtracted" "$assembledJarExtracted" >"target/$diffList" ||
[ $? -eq 1 ]
Затем сценарий только выйдет если diff
возвращает состояние кроме 0 (никакое различие) или 1 (различия), т.е. только если была ошибка, такая как недостающий файл.