-
Notifications
You must be signed in to change notification settings - Fork 33
Open
Description
(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).
Metadata
Metadata
Assignees
Labels
No labels