mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-23 15:38:41 +08:00
a31b44f9b2
Closes #1194. [skip ci]
39 lines
1.1 KiB
Plaintext
39 lines
1.1 KiB
Plaintext
\section contains contains - test if a word is present in a list
|
|
|
|
\subsection contains-synopsis Synopsis
|
|
\fish{synopsis}
|
|
contains [OPTIONS] KEY [VALUES...]
|
|
\endfish
|
|
|
|
\subsection contains-description Description
|
|
|
|
`contains` tests whether the set `VALUES` contains the string `KEY`. If so, `contains` exits with status 0; if not, it exits with status 1.
|
|
|
|
The following options are available:
|
|
|
|
- `-i` or `--index` print the word index
|
|
|
|
Note that, like GNU tools, `contains` interprets all arguments starting with a `-` as options to contains, until it reaches an argument that is `--` (two dashes). See the examples below.
|
|
|
|
\subsection contains-example Example
|
|
|
|
\fish
|
|
for i in ~/bin /usr/local/bin
|
|
if not contains $i $PATH
|
|
set PATH $PATH $i
|
|
end
|
|
end
|
|
\endfish
|
|
|
|
The above code tests if `~/bin` and `/usr/local/bin` are in the path and adds them if not.
|
|
|
|
\fish
|
|
function hasargs
|
|
if contains -- -q $argv
|
|
echo '$argv contains a -q option'
|
|
end
|
|
end
|
|
\endfish
|
|
|
|
The above code checks for `-q` in the argument list, using the `--` argument to demarcate options to `contains` from the key to search for.
|