bash-utility
bash-utility copied to clipboard
Use (( )) instead of [[ ]]?
(1) I see bash-utility heavily using
[[ $# -lt 2 ]] && ...
Wouldn't it be more readable to do
(( $# < 2 )) && ...
instead? (( is used for arithmetic evaluation, which is what -lt is trying to force inside [[.
(2) Also, seeing this:
[[ $# = 0 ]] && ...
rubs me the wrong way on multiple levels.
First, we are all taught that = is assignment and == is equivalence comparison. Yes, in bash they are the same when used inside [[, but = is used for assignment elsewhere in bash and IMHO this is just a bad coding practice.
Second, operator = within [[ is used for pattern matching and not arithmetic comparison. So, it should minimally be:
[[ $# -eq 0 ]] && ...
or better yet:
(( $# == 0 )) && ...
to be more readable and consistent with (1).
Hi @dimitry-ishenko thanks for your feedbacks. I will update them when I get some time. In the meantime you could raise a PR with the recommended changes and I am happy to review them.
Oh hey somebody is alive in here. 😃 I've made quite a few changes. Will send PR shortly