-
Notifications
You must be signed in to change notification settings - Fork 34
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