2008年7月15日火曜日

【詳解シェル】7章 入出力、ファイル、コマンドの評価 (その2)

実は昨日は頭痛で朦朧としていたので、昨日の分のまとめから。

  • ファイル記述子。

    • POSIX的には最大10個のファイル記述子を1つのプロセスはもてる。
    • 0:標準入力、1:標準出力、2:標準エラー出力、とデフォルトで割当てられている。
    • とりあえず、1以降は次のような構文。
      1> hoge : ファイル記述子1にhogeファイルを割当て。
      2> piyo : ファイル記述子2にhogeファイルを割当て。
      3< puyo : ファイル記述子3を新規に作る。(入力用)
      3> puyo : ファイル記述子3を新規に作る。(出力用)
      2>&1 :ファイル記述子2の割当てを、ファイル記述子1のものと同じにする。
      0<&3 :ファイル記述子0の割当てを、ファイル記述子3のものと同じにする。

    • execで、割り当て変更や新規作成ができる。
      例:
      exec 2> /tmp/hoge
      exec 3< /tmp/piyo
      exec 2> /tmp/moge 3< /tmp/puyo

  • とりあえずのまとめ。間違ってるかも。
  • exprは使うな。算術計算なら、算術展開。
  • eval。こうやってshellのREPL?をみると、reader部分でPOSIXコマンド自体をコード生成に使えているので、ある意味マクロちっくなんですね。
  • サブシェルとコードブロック。

おもしろかった。
体調がいいときは、楽しめる。こつこつ。

0 件のコメント: