contains - リスト内に特定の単語が存在するかテストする

概要

contains [OPTIONS] KEY [VALUES ...]

説明

contains は、集合 VALUES の中に文字列 KEY が含まれているかどうかをテストします。含まれている場合、 contains は終了コード 0 で終了し、含まれていない場合は終了コード 1 で終了します。

以下のオプションが利用可能です:

-i--index

最初に一致した要素のインデックス(集合内での要素番号)を表示します。

-h--help

このコマンドの使用方法に関するヘルプを表示します。

contains は、 -- という引数に到達するまで、 - で始まるすべての引数を contains のオプションとして解釈することに注意してください。

以下の例を参照してください。

animals が動物のリストである場合、以下は animals に "cat" が含まれているかどうかをテストします。

if contains cat $animals
   echo Your animal list is evil!
end

このコードは、いくつかのディレクトリがまだ含まれていない場合にのみ、それらを PATH に追加します。

for i in ~/bin /usr/local/bin
    if not contains $i $PATH
        set PATH $PATH $i
    end
end

一方、こちらは関数 hasargs-q オプション付きで実行されているかどうかを確認します。

function hasargs
    if contains -- -q $argv
        echo '$argv contains a -q option'
    end
end

ここでの -- は、 contains-q を自身へのオプションとして扱うのを防ぎます。代わりに、チェック対象の通常の文字列として扱います。