"A && B || C is not if-then-else. C may run when A is true":
https://github.com/koalaman/shellcheck/wiki/SC2015
The problem is that "In this case, if A is true but B is false, C will run."
I guess with B as "say", B will never be false, but generally it's really not the same as if-then-else.
The problem is that "In this case, if A is true but B is false, C will run."
I guess with B as "say", B will never be false, but generally it's really not the same as if-then-else.