Add style guide items for case label globbing and [[ ]] vs [ ].
This commit is contained in:
parent
2a506ec3f7
commit
08c51bccbd
@ -11,17 +11,29 @@ Indentation
|
|||||||
-----------
|
-----------
|
||||||
Indent step should be 4 spaces, no tabs.
|
Indent step should be 4 spaces, no tabs.
|
||||||
|
|
||||||
|
Globbing in case labels
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
Avoid "fancy" globbing in case labels, just use traditional style when
|
||||||
|
possible. For example, do "--foo|--bar)" instead of "--@(foo|bar))".
|
||||||
|
Rationale: the former is easier to read, often easier to grep, and
|
||||||
|
doesn't confuse editors as bad as the latter, and is concise enough.
|
||||||
|
|
||||||
|
[[ ]] vs [ ]
|
||||||
|
------------
|
||||||
|
|
||||||
|
Use [[ ]] instead of [ ] when testing multiple conditions. [ ] is fine
|
||||||
|
for single conditions where the syntax works. Rationale: [[ ]] has
|
||||||
|
short circuit behavior within one test containing multiple conditions
|
||||||
|
separated by && or ||, while [ ] with -a or -o does not. Thus it can
|
||||||
|
be more efficient in some cases and may reduce need for nesting
|
||||||
|
conditions, and it's cleaner to write for example [[ ... && ... ]]
|
||||||
|
than [ ... ] && [ ... ], and in general [[ ]] has more features.
|
||||||
|
|
||||||
/////////////////////////////////////////
|
/////////////////////////////////////////
|
||||||
case/esac vs if
|
case/esac vs if
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
simple matching vs extended globbing
|
|
||||||
------------------------------------
|
|
||||||
in case statements: -@(a|b)) vs -a|-b)
|
|
||||||
|
|
||||||
testing with [[ ]] vs [ ]
|
|
||||||
-------------------------
|
|
||||||
|
|
||||||
line wrapping
|
line wrapping
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user