O problema é a falta de espaço em branco.
O código a seguir funcionará em shells cujo comando [ builtin aceita == como um alias para = :
if [ "$DAYOFWEEK" == 4 ]; then echo YES; else echo NO; fi
Mas lembre-se (consulte help test in bash ):
-
==não é oficialmente mencionado, você deve usar=para comparação de strings -
-eqé destinado a testes aritméticos decimais (não fará diferença aqui paradate +%u, mas paradate +%d, por exemplo, quando se trata de comparar04e4, que são numericamente iguais, mas lexicamente diferentes) .
Eu preferiria:
if [ "${DAYOFWEEK}" -eq 4 ]; then echo YES; else echo NO; fi
Geralmente você deve preferir a abordagem do dia número , porque tem menos dependência do locale .
No meu sistema, a saída de date +"%a" é hoje Do .