Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 0d244cef41502353818b7ddf77fcf901 > files > 39

yash-doc-2.28-1.fc14.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta name="author" content="magicant">
<meta name="description" content="Yash の return 組込みコマンドについて">
<title>Yash マニュアル: return 組込みコマンド</title>
<link rel="Contents" href="../index.html" title="目次">
<link rel="Prev" href="readonly.html" title="Readonly 組込みコマンド">
<link rel="Next" href="set.html" title="Set 組込みコマンド">
<link rel="Stylesheet" href="../style.css">

<div class="breadcrumb"><a href="../index.html">目次</a> >
<a rel="Up" href="index.html">組込みコマンド一覧</a></div>
<h1>Return 組込みコマンド</h1>

<p><dfn>Return 組込みコマンド</dfn>は現在実行中の<a href="../exec.html#function">関数</a>またはスクリプトの実行を終了します。

<h2 id="syntax">構文</h2>
<ul>
<li><code>return [-n] [<var>終了ステータス</var>]</code>
</ul>

<h2 id="description">説明</h2>
<p><code>-n</code> (<code>--no-return</code>) オプションを付けずに return コマンドを実行すると、以下のうち当てはまる動作を行います:
<ul>
<li><a href="../exec.html#function">関数</a>の実行中の場合は、その関数の実行を終了します。
<li><a href="dot.html">ドットコマンド</a>でファイルを開いてコマンドを実行している途中の場合は、そのファイルの読み込み・実行を終了します。
<li><a href="eval.html">Eval コマンド</a>でコマンドを実行している途中の場合は、そのコマンドの実行を終了します。
<li>これ以外の場合は、(<a href="../interact.html">対話モード</a>のときを除いて) シェルは終了します。
</ul>
<p><code>-n</code> (<code>--no-return</code>) オプションを付けて return コマンドを実行すると、return コマンドはただ単にオペランドで指定されている終了ステータスを返します。

<h2 id="options">オプション</h2>
<dl>
<dt><code>-n</code>, <code>--no-return</code>
<dd>コマンドの実行を中断しません。
</dl>

<h2 id="operands">オペランド</h2>
<dl>
<dt><var>終了ステータス</var>
<dd>Return コマンドの終了ステータスを指定する 0 以上の自然数です。
<dd>このオペランドが与えられていない場合は、return コマンドの直前に実行されたコマンドの終了ステータスを用います (ただし<a href="trap.html">トラップ</a>を実行中の場合はトラップに入る直前のコマンドの終了ステータス)。
</dl>

<h2 id="exitstatus">終了ステータス</h2>
<p>Return コマンドの終了ステータスはオペランドで与えられた値です。Return コマンドの終了ステータスは return コマンドが終了する関数・ドットコマンド・eval コマンド・シェル自身の終了ステータスにもなります。

<h2 id="notes">補足</h2>
<p>Return コマンドは<a href="../builtin.html#types">特殊組込みコマンド</a>です。
<p>POSIX では、<var>終了ステータス</var>の値は 0 以上 256 未満でなければならないとしています。Yash では拡張として 256 以上の値も受け付けるようになっています。
<p>POSIX では関数あるいはドットコマンドの実行中以外における return コマンドの動作を定めていません。
<p>POSIX には <code>-n</code> (<code>--no-return</code>) オプションに関する規定はありません。よってこのオプションは <a href="../posix.html">POSIX 準拠モード</a>では使えません。