Просто подключите вывод через grep.
diff .... | grep -v CET
Арифметическая оценка внутри (( ... )), = - оператор присваивания, а не оператор логического сравнения. Таким образом, $(($w = 0)) является переменной разыменования w, а затем пытается присвоить значение 0 своему значению.
Возможно, что вы намеревались if $(($w == 0)). Однако, хотя и синтаксически корректно, синтаксис расширения параметра $w не нужен в этом контексте, поэтому вы можете упростить это до if ((w == 0)), а также для $(( $w != 0 )) и т. Д. Из раздела ARITHMETIC EVALUATION в man bash:
Shell variables are allowed as operands; parameter expansion is per‐
formed before the expression is evaluated. Within an expression, shell
variables may also be referenced by name without using the parameter
expansion syntax.
Также обратите внимание, что -le, -gt операторы предназначены для арифметического сравнения внутри [ ... ] или [[ ... ]] ] тестовые скобки; в скобках (( ... )) (которые предназначены только для арифметической оценки), вы должны использовать <=, > и т. д.
Арифметическая оценка внутри (( ... )), = - оператор присваивания, а не оператор логического сравнения. Таким образом, $(($w = 0)) является переменной разыменования w, а затем пытается присвоить значение 0 своему значению.
Возможно, что вы намеревались if $(($w == 0)). Однако, хотя и синтаксически корректно, синтаксис расширения параметра $w не нужен в этом контексте, поэтому вы можете упростить это до if ((w == 0)), а также для $(( $w != 0 )) и т. Д. Из раздела ARITHMETIC EVALUATION в man bash:
Shell variables are allowed as operands; parameter expansion is per‐
formed before the expression is evaluated. Within an expression, shell
variables may also be referenced by name without using the parameter
expansion syntax.
Также обратите внимание, что -le, -gt операторы предназначены для арифметического сравнения внутри [ ... ] или [[ ... ]] ] тестовые скобки; в скобках (( ... )) (которые предназначены только для арифметической оценки), вы должны использовать <=, > и т. д.