書式
function NAME; [COMMANDS...;] return [STATUS]; [COMMANDS...;] end

概要

return コマンドは
現在実行中の関数から
脱出します。

終了ステータスが
与えられたときは
STATUS になります。

return は条件式の中で
しばしば使われます。

return が呼ばれると、
条件によって関数から脱出し、
呼び出し元に戻ります。

また、
関数の終了ステータスを
指定する場合にも使われます。

実行例

以下のコードは
false コマンドの
fish関数としての実装です。

function false
    return 1
end

例追加。

以下のコードは、

  • switchとの組み合わせ
  • returnは内側の関数から脱出すること

を示します。

function outer
        function inner
                switch $argv[1]
                        case stop
                                echo stop!
                                return
                        case '*'
                                echo $argv[1]
                end
                echo end
        end
        echo inner start
        inner start
        echo
        echo inner stop
        inner stop
end
outer

実行結果は
このようになります。

inner stop では
return でinnerから脱出するため、
endが表示されないことに
注目してください。

inner start
start
end

inner stop
stop!

最後までお読みいただき、ありがとうございました。参考になれば嬉しいです。