Sophie

Sophie

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

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 の command 組込みコマンドについて">
<title>Yash マニュアル: command 組込みコマンド</title>
<link rel="Contents" href="../index.html" title="目次">
<link rel="Prev" href="cd.html" title="Cd 組込みコマンド">
<link rel="Next" href="complete.html" title="Complete 組込みコマンド">
<link rel="Stylesheet" href="../style.css">

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

<p><dfn>Command 組込みコマンド</dfn>はコマンドを実行します。またコマンドの種類を特定します。

<h2 id="syntax">構文</h2>
<ul>
<li><code>command [-befp] <var>コマンド</var> [<var>引数</var>…]</code>
<li><code>command -vV [-abefkp] <var>コマンド</var>…</code>
</ul>

<h2 id="description">説明</h2>
<p><code>-v</code> (<code>--identify</code>) オプションならびに <code>-V</code> (<code>--verbose-identify</code>) オプションを付けずに実行すると、command コマンドは与えられた<var>コマンド</var>を与えられた<var>引数</var>で実行します。コマンドの実行の仕方は<a href="../exec.html#simple">単純コマンドの実行</a>の最後のステップに準じますが、<a href="../exec.html#search">コマンドの検索</a>では外部コマンド・組込みコマンド・関数の内オプションで指定したものしか検索しません。またコマンドが<a href="../builtin.html#types">特殊組込みコマンド</a>の場合、コマンドのオプションやオペランドの使い方が間違っていたりリダイレクトエラーや代入エラーが起きたりしてもシェルは終了しません。
<p><code>-v</code> (<code>--identify</code>) オプションまたは <code>-V</code> (<code>--verbose-identify</code>) オプションを付けて実行すると、command コマンドは与えられた<var>コマンド</var>の種類とパスを特定しそれを標準出力に出力します。<var>コマンド</var>は<a href="../syntax.html#aliases">エイリアス</a>や<a href="../exec.html#function">関数</a>であっても構いません。
<p><code>-v</code> (<code>--identify</code>) オプションを付けて実行したときの出力は以下のようになります。
<ul>
<li><a href="../exec.html#search">コマンドの検索</a>の結果見つかったコマンドおよびその他の外部コマンドは、その絶対パスを出力します。
<li>コマンドの検索によらず実行される組込みコマンドや関数は、単にその名前を出力します。
<li><a href="../syntax.html#tokens">予約語</a>は、単にその名前を出力します。
<li>エイリアスは、コマンドとして実行可能な形式でその名前と値を出力します。
<li>コマンドが見つからなかった場合は、何も出力しません。(終了ステータスが非 0 になります)
</ul>

<h2 id="options">オプション</h2>
<dl>
<dt><code>-a</code>, <code>--alias</code>
<dd><var>コマンド</var>としてエイリアスを検索の対象にします。
<dt><code>-b</code>, <code>--builtin-command</code>
<dd><var>コマンド</var>として組込みコマンドを検索の対象にします。
<dt><code>-e</code>, <code>--external-command</code>
<dd><var>コマンド</var>として外部コマンドを検索の対象にします。
<dt><code>-f</code>, <code>--function</code>
<dd><var>コマンド</var>として関数を検索の対象にします。
<dt><code>-k</code>, <code>--keyword</code>
<dd><var>コマンド</var>として予約語を検索の対象にします。
<dt><code>-p</code>, <code>--default-path</code>
<dd><a href="../exec.html#search">コマンドの検索</a>において、<a href="../params.html#sv-path"><code>PATH</code> 変数</a>の代わりに、標準のコマンドをすべて含むようなシステム固有のデフォルトパスを用いて外部コマンドを検索します。
<dt><code>-v</code>, <code>--identify</code>
<dd>与えられた<var>コマンド</var>の種類とパスを特定し、簡単な形式で標準出力に出力します。
<dt><code>-V</code>, <code>--verbose-identify</code>
<dd>与えられた<var>コマンド</var>の種類とパスを特定し、人間にとって読みやすい形式で標準出力に出力します。
</dl>
<p><code>-a</code> (<code>--alias</code>) オプションと <code>-k</code> (<code>--keyword</code>) オプションは <code>-v</code> (<code>--identify</code>) オプションまたは <code>-V</code> (<code>--verbose-identify</code>) オプションと一緒にしか使えません。
<p><code>-a</code> (<code>--alias</code>), <code>-b</code> (<code>--builtin-command</code>), <code>-e</code> (<code>--external-command</code>), <code>-f</code> (<code>--function</code>), <code>-k</code> (<code>--keyword</code>) オプションのどれも指定しなかった場合は <code>-be</code> (<code>-v</code> (<code>--identify</code>), <code>-V</code> (<code>--verbose-identify</code>) オプションを指定した場合) または (<code>-v</code> (<code>--identify</code>), <code>-V</code> (<code>--verbose-identify</code>) オプションを指定していない場合) を指定したものとみなします。

<h2 id="operands">オペランド</h2>
<dl>
<dt><var>コマンド</var>
<dd>実行するまたは種類を特定するコマンドの名前です。
<dt><var>引数</var>…
<dd>実行するコマンドに渡すコマンドライン引数です。
</dl>

<h2 id="exitstatus">終了ステータス</h2>
<p><code>-v</code> (<code>--identify</code>) オプションならびに <code>-V</code> (<code>--verbose-identify</code>) オプションを付けずに実行した場合、command コマンドの終了ステータスは実行したコマンドの終了ステータスです。実行しようとしたコマンドが見つからなかった場合、終了ステータスは 127 です。コマンドが見つかったが実行できなかった場合、終了ステータスは 126 です。
<p><code>-v</code> (<code>--identify</code>) オプションまたは <code>-V</code> (<code>--verbose-identify</code>) オプションを付けて実行した場合、終了ステータスは原則として 0 です。ただしコマンドが見つからなかった場合やその他エラーが発生したときは非 0 です。

<h2 id="notes">補足</h2>
<p>Command コマンドは<a href="../builtin.html#types">準特殊組込みコマンド</a>です。
<p>POSIX に規定のあるオプションは <code>-p</code>, <code>-v</code>, <code>-V</code> だけです。これ以外のオプションは <a href="../posix.html">POSIX 準拠モード</a>では使えません。また POSIX 準拠モードでは <code>-v</code> または <code>-V</code> オプションを使用するとき<var>コマンド</var>はちょうど一つしか指定できません。
<p>POSIX は <code>-v</code> オプションと <code>-V</code> オプションを同時に指定することを認めていません。Yash ではこれら二つのオプションを両方指定すると最後に指定したものが有効になります。