docs/docs/3.7/cmds/contains.html
contains [OPTIONS] KEY [VALUES ...]
contains tests whether the set VALUES contains the string KEY. If so, contains exits with code 0; if not, it exits with code 1.
The following options are available:
-i or --index
Print the index (number of the element in the set) of the first matching element.
-h or --help
Displays help about using this command.
Note that contains interprets all arguments starting with a - as an option to contains, until an -- argument is reached.
See the examples below.
If animals is a list of animals, the following will test if animals contains “cat”:
if contains cat $animalsecho Your animal list is evil!end
This code will add some directories to PATH if they aren’t yet included:
for i in ~/bin /usr/local/binif not contains $i $PATHset PATH $PATH $iendend
While this will check if function hasargs is being ran with the -q option:
function hasargsif contains -- -q $argvecho '$argv contains a -q option'endend
The -- here stops contains from treating -q to an option to itself. Instead it treats it as a normal string to check.