On this page |
unix [-s shell] [-q] command
Note
unixという名前ですが、unix
コマンドはUNIX以外のOSでも動作します。
これは、systemコマンドのエイリアスです。
Houdiniは$SHELL変数の値を使った$SHELL -c command
コマンドを実行します。
$SHELL
変数がcsh
またはzsh
のどちらかであれば、Houdiniは-fオプションも使用します(.cshrc/.zshrcファイルのsourceを回避します)。
Houdiniは、グローバルのHScript変数を環境変数として外部プロセスに渡し、status
変数を、そのコマンドの終了コードに設定します。
HOUDINI11_COMPATIBILITY
環境変数を設定していれば、$SHELL
変数が無視され、シェルのデフォルトがcsh
になります。
-sオプションを使えば、HOUDINI11_COMPATIBILITY
を設定していてもシェルを上書きすることができます。
Tips ¶
-
Houdiniには、通常のホストシステムコマンドをコールするための専用HScriptコマンドがあります。例えば、ulsはディレクトリの内容をリストし、urmはファイルを削除し、upwdは現行ディレクトリをプリントします。
コードをWindowsのようなUNIX以外のOSでも使えるようにするには、直接UNIXユーティリティ(
ls
,rm
,pwd
など)を明示するのではなく、それらのHScriptコマンドを使ってください。 -
外部シェルでリダイレクト(例えば、
>&
)するには、引数をシングルクォートで閉じることで、外部シェルが引数を見る前に、Houdiniコマンドインタープリタがリダイレクトに作用することを回避することができます。unix myscript.pl '>output.txt'
-
ほとんどの場合、引用符の引数を維持するために
-q
オプションを使用してください。 とはいえ、既存スクリプトと上位互換を保つために、このオプションはデフォルトで無効になっています。-q
オプションは、その引用符問題を解決します。# このコマンドは、"Hello world"引数から引用符が取り除かれるので失敗します。 unix hwatermark -x 10 10 -m "Hello world" foo.pic foo.pic font.ttf 12 # 引用符を維持するための-qオプションを追加して、"Hello world"を単一引数としてhwatermarkに渡します。 unix -q hwatermark -x 10 10 -m "Hello world" foo.pic foo.pic font.ttf 12
オプション ¶
-q
シェルに引数を渡す時に、その引用符を維持します。
-s string
$SHELL
変数の値を上書きします。
See also |