0

How can I refactoring the next lines to join to conditions in one with OR operator?

if [[ "$lexer_date" > "$lexer_ts_date" ]]; then
    generate_grammar
elif [[ "$parser_date" > "$parser_ts_date" ]]; then
    generate_grammar
fi

Something like this:

if lexer_date > lexer_ts_date or parser_date > parser_ts_date: generate_grammar

2 Answers 2

1

The or operator is ||

if [[ "$lexer_date" > "$lexer_ts_date" || "$parser_date" > "$parser_ts_date" ]]; then
    generate_grammar
fi
Sign up to request clarification or add additional context in comments.

Comments

0

or

((lexer_date>lexer_ts_date|parser_date>parser_ts_date)) && generate_grammar

Test script:

$ cat test
#!/bin/bash

lexer_date=2
lexer_ts_date=1
parser_date=2
parser_ts_date=1

generate_grammar(){ echo ok; }

((lexer_date>lexer_ts_date|parser_date>parser_ts_date)) && generate_grammar

Testing:

$ ./test
ok

1 Comment

Return me an error: scripts/grammar.sh: line 28: ((: 2021-02-11 13:21:40: syntax error in expression (error token is "13:21:40")

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.