対照的に、関数 ``g()`` は ``OPTIONS`` 変数を再定義し、 ``f()`` をそのスコープ中で評価しますので、 この関数は文字列 ``OPTIONS = d e f`` が出力されます。
-``g`` の中身はローカルスコープを定義しています。 ``OPTIONS`` 変数の再定義は ``g`` についてローカルであり、この関数が終了した場合、この定義も終了します。 ::
+``g`` の内容はローカルスコープを定義しています。 ``OPTIONS`` 変数の再定義は ``g`` についてローカルであり、この関数が終了した場合、この定義も終了します。 ::
osh> g()
OPTIONS = d e f
``class`` 文はなくても構いません。もし指定されていた場合、 ``instanceof`` 演算子を使うことでオブジェクト名を新たに定義することができるようになります。これは下で議論する ``::`` スコープ文と同様です。
-オブジェクトには任意の内容のプログラムを記述できます。中身で定義された変数はプロパティと定義され、関数はメソッドと定義されます。
+オブジェクトには任意の内容のプログラムを記述できます。オブジェクトの中に定義された変数はプロパティと定義され、関数はメソッドと定義されます。
.. index::
single: プロパティ
1. ガイド
==================
-ã\82\82ã\81\97ã\81\82ã\81ªã\81\9fã\81\8cOMakeã\82\92å§\8bã\82\81ã\81¦ä½¿ã\81\86ã\81®ã\81ªã\82\89、 :doc:`quickstart` はどのようにプロジェクトを始めるべきなのかについて、簡単に説明してくれるでしょう。 :doc:`build-examples` ではプロジェクトをビルドするための、より詳細なコードサンプルを紹介しています。そして :doc:`language` では実際にプログラミングするときに役立つ、いくつかの一例を紹介しています。
+ã\81\82ã\81ªã\81\9fã\81\8cOMakeã\82\92å§\8bã\82\81ã\81¦ä½¿ã\81\86ã\81®ã\81§ã\81\82ã\82\8cã\81°、 :doc:`quickstart` はどのようにプロジェクトを始めるべきなのかについて、簡単に説明してくれるでしょう。 :doc:`build-examples` ではプロジェクトをビルドするための、より詳細なコードサンプルを紹介しています。そして :doc:`language` では実際にプログラミングするときに役立つ、いくつかの一例を紹介しています。
1.1 注意事項
------------------
-*OMakeマニュアル 日本語訳 v0.10.11.5*
+*OMakeマニュアル 日本語訳 v0.11.0*
このドキュメントは `OMake <http://omake.metaprl.org/>`_ バージョン0.9.8.5の `マニュアル <http://omake.metaprl.org/manual/omake.html>`_ を日本語訳したものです。 **この翻訳に関して本家の許可は取っておりませんので、正当な権利者からの申し立てにより予告なく削除する場合があります。**
-------------------
.. toctree::
- :maxdepth: 2
+ :maxdepth: 1
quickstart
build-examples
rules
base
system
+ shell
1.3 翻訳に関して
-------------------
osh> value $(length $(B))
- : 3 : Int
-配列は異なります。配列の成分はどのような方法を用いても文字列とくっつけることができません。配列は括弧 ``[]`` を変数名につけ、インデントした中身を記述することで成分を定義できます。各成分にはホワイトスペースを含めることもできます。 ::
+配列は異なります。配列の成分はどのような方法を用いても文字列とくっつけることができません。配列は括弧 ``[]`` を変数名につけ、インデントした内容を記述することで成分を定義できます。各成分にはホワイトスペースを含めることもできます。 ::
osh> A[] =
a b
``mapprefix`` と ``addprefix`` 関数は全く異なります( ``addsuffix`` と ``mapsuffix`` 関数も同様です)。 ``addprefix`` 関数は接頭辞を各々の成分くっつけます。 ``mapprefix`` 関数は元の成分の前に新しい接頭辞を成分として加えるので、配列の長さは2倍になります。
-ほとんどの関数は配列でも動きますが、あなた自身が配列にも対応した関数を作りたいと思うこともあるでしょう。 ``foreach`` 関数はその要望を実現します。 ``foreach`` 関数は二つの表記を使いますが、この中身を伴った表記法はとても便利です。この関数は二つの引数と中身が必要です。まず、一つ目の引数は変数で、二つ目のは配列を指定します。そして ``foreach`` の中身は各々の成分を対象に、引数で指定された変数がその成分に束縛された状態で、配列の長さぶんだけ実行されます。さあ、それでは値を持った配列の各々の成分に1を加える関数を定義してみましょう。 ::
+ほとんどの関数は配列でも動きますが、あなた自身が配列にも対応した関数を作りたいと思うこともあるでしょう。 ``foreach`` 関数はその要望を実現します。 ``foreach`` 関数は二つの表記を使いますが、このコードを伴った表記法はとても便利です。この関数は二つの引数とコードが必要です。まず、一つ目の引数は変数で、二つ目のは配列を指定します。そして ``foreach`` のコードは各々の成分を対象に、引数で指定された変数がその成分に束縛された状態で、配列の長さぶんだけ実行されます。さあ、それでは値を持った配列の各々の成分に1を加える関数を定義してみましょう。 ::
osh> add1(l) =
foreach(i, $l):
X = 1
Y = 2
-修飾子はブロック内で新しく定義された変数の、デフォルトの名前空間を指定しています。その違いを除いて、ブロックの中身は完全に普通のコードとしてふるまいます。 ::
+修飾子はブロック内で新しく定義された変数の、デフォルトの名前空間を指定しています。その違いを除いて、ブロックの内容は完全に普通のコードとしてふるまいます。 ::
private. =
X = 1
<name>(<params>) =
<indented-body>
-パラメータは識別させるためにカンマを用いて分割し、中身は関数定義からインデントした状態で、別の行に設置する必要があります。例えば、以下のコードは引数 ``a`` と ``b`` をコロンを用いて結びつける関数について定義しています。 ::
+パラメータは識別させるためにカンマを用いて分割し、コードは関数定義からインデントした状態で、別の行に設置する必要があります。例えば、以下のコードは引数 ``a`` と ``b`` をコロンを用いて結びつける関数について定義しています。 ::
ColonFun(a, b) =
return($(a):$(b))
--- /dev/null
+.. 11-shell
+
+.. _label11:
+
+11. シェルコマンド
+==================================
+
+.. _label11.1:
+
+11.1 簡単なコマンド
+----------------------------------
+
+.. _label11.2:
+
+11.2 検索
+----------------------------------
+
+.. _label11.3:
+
+11.3 バックグラウンドでのジョブ
+----------------------------------
+
+.. index::
+ single: ファイルのリダイレクション
+.. _label11.4:
+
+11.4 ファイルのリダイレクション
+----------------------------------
+
+.. index::
+ single: パイプライン
+.. _label11.5:
+
+11.5 パイプライン
+----------------------------------
+
+.. index::
+ single: 条件による実行
+.. _label11.6:
+
+11.6 条件による実行
+----------------------------------
+
+.. index::
+ single: グループ化
+.. _label11.7:
+
+11.7 グループ化
+----------------------------------
+
+.. _label11.8:
+
+11.8 シェルコマンドとは何か?
+----------------------------------
+
+.. _label11.9:
+
+11.9 基本的なビルドイン関数
+----------------------------------
+
+.. index::
+ single: echo()
+.. _label11.9.1:
+
+11.9.1 echo
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. index::
+ single: cd()
+.. _label11.9.2:
+
+11.9.2 cd
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. _label11.10:
+
+11.10 ジョブを制御するビルドイン関数
+---------------------------------------
+
+.. index::
+ single: jobs()
+.. _label11.10.1:
+
+11.10.1 jobs
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. index::
+ single: bg()
+.. _label11.10.2:
+
+11.10.2 bg
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. index::
+ single: fg()
+.. _label11.10.3:
+
+11.10.3 fg
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. index::
+ single: stop()
+.. _label11.10.4:
+
+11.10.4 stop
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. index::
+ single: wait()
+.. _label11.10.5:
+
+11.10.5 wait
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. index::
+ single: kill()
+.. _label11.10.6:
+
+11.10.6 kill
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. _label11.10.7:
+
+11.11 コマンド履歴
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. index::
+ single: history()
+.. _label11.11.1:
+
+11.11.1 history
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^