linux - Difference between using - and -- as options to set while setting positional params -
in man bash mentioned set has 2 options - , --
i wondering if there difference while using - , -- options set while setting positional parameters.
i not find big difference mentioned in man bash when comes usage in setting positional params.
the bash(1) man page 4.1.5(1) says:
-- if no arguments follow option, positional parameters unset. otherwise, positional parame‐ ters set args, if of them begin -. - signal end of options, cause remaining args assigned positional parameters. -x , -v options turned off. if there no args, posi‐ tional parameters remain unchanged. the first difference when there no arguments after - or --. former, existing positional parameters unchanged. latter, positional parameters cleared.
so set -- clears positional parameters , set - no-op.
the -v , -x settings may modified set - .... so, if had set -v turned on (which causes shell print input lines read), turned off set - ... command. set -- ... leave unchanged.
set -x more common set -v in set -x used debug scripts see commands being run. quite when debugging shell script, run bash -x <script>. knowing set - ... turns -x off, you'd want use set -- ..., since quite unexpected have -x turned off side effect of command.
Comments
Post a Comment