Codacy 分析器警告:在 POSIX sh 中,[[]] 未定义

问题描述

当我为下一行脚本运行 codacy-analysis-cli analyze 命令时:

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

我收到了下一个警告: Found [Warning] `In POSIX sh,[[ ]] is undefined.` in scripts/grammar.sh:20 (shellcheck_SC2039)

我该如何解决

解决方法

改用 [。请注意,对于字母数字比较,您需要引用比较运算符;因此:

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