mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-06-04 15:51:15 -03:00
source: Return error instead of implicitly reading from tty
For things like
source $undefined
or
source (nooutput)
it was quite annoying that it read from tty.
Instead we now require a "-" as the filename to read from the tty.
This does not apply to reading from stdin if it's redirected, so
something | source
still works.
Fixes #2633.
This commit is contained in:
@@ -3,13 +3,14 @@
|
||||
\subsection source-synopsis Synopsis
|
||||
\fish{synopsis}
|
||||
source FILENAME [ARGUMENTS...]
|
||||
somecommand | source
|
||||
\endfish
|
||||
|
||||
\subsection source-description Description
|
||||
|
||||
`source` evaluates the commands of the specified file in the current shell. This is different from starting a new process to perform the commands (i.e. `fish < FILENAME`) since the commands will be evaluated by the current shell, which means that changes in shell variables will affect the current shell. If additional arguments are specified after the file name, they will be inserted into the `$argv` variable. The `$argv` variable will not include the name of the sourced file.
|
||||
|
||||
If no file is specified, or if the file name '`-`' is used, stdin will be read.
|
||||
If no file is specified and stdin is not the terminal, or if the file name '`-`' is used, stdin will be read.
|
||||
|
||||
The return status of `source` is the return status of the last job to execute. If something goes wrong while opening or reading the file, `source` exits with a non-zero status.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user