106 System

書式:
     system "command string"
     ! command string
     output = system("command string")
     show variable GPVAL_SYSTEM

system "command" は、オペレーティングシステムのデフォルトシェルを呼 び出し、そのサブプロセスとして "command" を実行します。関数として system("command") を呼び出した場合は、そのサブプロセスの標準出力から の文字ストリームを文字列として返します。最後に改行がついている場合は、 それは結果文字列からは除去されます。以下も参照: backquotes (30.1)

そのサブプロセスの終了コードは、変数 GPVAL_SYSTEM_ERRNO と GPVAL_SYSTEM_ERRMSG に保存されます。しかし、もしコマンド文字列が 2 つ 以上のプログラムを呼び出している場合は、そのうちの一つのプログラムがエラーを出しても、"成功" を返す可能性があることに注意してください。例え ば、file = system("ls -1 *.plt | tail -1") は、*.plt ファイルが一つも ない場合でも "成功" が返ります。それは、ls が失敗しても tail は成 功するからです。

竹野茂治@新潟工科大学
2021-06-25