Add note about compgen -- $cur vs embedding $cur in external command arguments.
This commit is contained in:
parent
95cd673b5c
commit
80db1412cd
10
README
10
README
@ -450,6 +450,16 @@ guidelines in mind:
|
|||||||
These forms of parameter substitutions can also be used on arrays,
|
These forms of parameter substitutions can also be used on arrays,
|
||||||
which makes them very powerful (if a little slow).
|
which makes them very powerful (if a little slow).
|
||||||
|
|
||||||
|
- Prefer "compgen -W '...' -- $cur" over embedding $cur in external
|
||||||
|
command arguments (often e.g. sed, grep etc) unless there's a good
|
||||||
|
reason to embed it. Embedding user input in command lines can
|
||||||
|
result in syntax errors and other undesired behavior, or messy
|
||||||
|
quoting requirements when the input contains unusual characters.
|
||||||
|
Good reasons for embedding include functionality (if the thing
|
||||||
|
does not sanely work otherwise) or performance (if it makes a big
|
||||||
|
difference in speed), but all embedding cases should be documented
|
||||||
|
with rationale in comments in the code.
|
||||||
|
|
||||||
- Do not write to the file-system under any circumstances. This can
|
- Do not write to the file-system under any circumstances. This can
|
||||||
create race conditions, is inefficient, violates the principle of
|
create race conditions, is inefficient, violates the principle of
|
||||||
least surprise and lacks robustness.
|
least surprise and lacks robustness.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user