mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-10-31 06:00:54 +01:00 
			
		
		
		
	the csh -b, permitting more options to be stacked after it and take effect. Make -b take effect depending on SH_OPTION_LETTERS, consistent with all the other single-letter options, rather than having a clashing check of emulation type.
		
			
				
	
	
		
			87 lines
		
	
	
	
		
			3.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
	
		
			3.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| texinode(Invocation)(Files)(Introduction)(Top)
 | ||
| chapter(Invocation)
 | ||
| cindex(invocation)
 | ||
| sect(Invocation Options)
 | ||
| cindex(flags, shell)
 | ||
| cindex(shell flags)
 | ||
| The following flags are interpreted by the shell when invoked to determine
 | ||
| where the shell will read commands from:
 | ||
| 
 | ||
| startitem()
 | ||
| item(tt(-c))(
 | ||
| Take the first argument as a command to execute, rather than reading commands
 | ||
| from a script or standard input.  If any further arguments are given, the
 | ||
| first one is assigned to tt($0), rather than being used as a positional
 | ||
| parameter.
 | ||
| )
 | ||
| item(tt(-i))(
 | ||
| Force shell to be interactive.
 | ||
| )
 | ||
| item(tt(-s))(
 | ||
| Force shell to read commands from the standard input.
 | ||
| If the tt(-s) flag is not present and an argument is given,
 | ||
| the first argument is taken to be the pathname of a script to
 | ||
| execute.
 | ||
| )
 | ||
| enditem()
 | ||
| 
 | ||
| After the first one or two arguments have been appropriated as described above,
 | ||
| the remaining arguments are assigned to the positional parameters.
 | ||
| 
 | ||
| For further options, which are common to invocation and the tt(set)
 | ||
| builtin, see
 | ||
| ifzman(zmanref(zshoptions))\
 | ||
| ifnzman(noderef(Options))\
 | ||
| .
 | ||
| 
 | ||
| Options may be specified by name using the tt(-o) option.  tt(-o) acts like
 | ||
| a single-letter option, but takes a following string as the option name.
 | ||
| For example,
 | ||
| 
 | ||
| example(zsh -x -o shwordsplit scr)
 | ||
| 
 | ||
| runs the script tt(scr), setting the tt(XTRACE) option by the corresponding
 | ||
| letter `tt(-x)' and the tt(SH_WORD_SPLIT) option by name.
 | ||
| Options may be turned em(off) by name by using tt(PLUS()o) instead of tt(-o).
 | ||
| tt(-o) can be stacked up with preceding single-letter options, so for example
 | ||
| `tt(-xo shwordsplit)' or `tt(-xoshwordsplit)' is equivalent to
 | ||
| `tt(-x -o shwordsplit)'.
 | ||
| 
 | ||
| Options may also be specified by name in GNU long option style,
 | ||
| `tt(--)var(option-name)'.  When this is done, `tt(-)' characters in the
 | ||
| option name are permitted: they are translated into `tt(_)', and thus ignored.
 | ||
| So, for example, `tt(zsh --sh-word-split)' invokes zsh with the
 | ||
| tt(SH_WORD_SPLIT) option turned on.  Like other option syntaxes, options can
 | ||
| be turned off by replacing the initial `tt(-)' with a `tt(PLUS())'; thus
 | ||
| `tt(+-sh-word-split)' is equivalent to `tt(--no-sh-word-split)'.
 | ||
| Unlike other option syntaxes, GNU-style long options cannot be stacked with
 | ||
| any other options, so for example `tt(-x-shwordsplit)' is an error,
 | ||
| rather than being treated like `tt(-x --shwordsplit)'.
 | ||
| 
 | ||
| The special GNU-style option `tt(--version)' is handled; it sends to standard
 | ||
| output the shell's version information, then exits successfully.
 | ||
| `tt(--help)' is also handled; it sends to standard output a list of options
 | ||
| that can be used when invoking the shell, then exits successfully.
 | ||
| 
 | ||
| Option processing may be finished, allowing following arguments that start with
 | ||
| `tt(-)' or `tt(PLUS())' to be treated as normal arguments, in two ways.
 | ||
| Firstly, a lone `tt(-)' (or `tt(PLUS())') as an argument by itself ends option
 | ||
| processing.  Secondly, a special option `tt(--)' (or `tt(PLUS()-)'), which may
 | ||
| be specified on its own (which is the standard POSIX usage) or may be stacked
 | ||
| with preceding options (so `tt(-x-)' is equivalent to `tt(-x --)').  Options
 | ||
| are not permitted to be stacked after `tt(--)' (so `tt(-x-f)' is an error),
 | ||
| but note the GNU-style option form discussed above, where `tt(--shwordsplit)'
 | ||
| is permitted and does not end option processing.
 | ||
| 
 | ||
| Except when the bf(sh)/bf(ksh) emulation single-letter options are in effect,
 | ||
| the option `tt(-b)' (or `tt(PLUS()b)') ends option processing.
 | ||
| `tt(-b)' is like `tt(--)', except that further single-letter options can be
 | ||
| stacked after the `tt(-b)' and will take effect as normal.
 | ||
| 
 | ||
| startmenu()
 | ||
| menu(Compatibility)
 | ||
| menu(Restricted Shell)
 | ||
| endmenu()
 | ||
| 
 | ||
| includefile(Zsh/compat.yo)
 | ||
| includefile(Zsh/restricted.yo)
 |