exec
外部プログラムを実行する
&reftitle.description;
stringfalseexec
stringcommand
arrayoutput&null;
intresult_code&null;
exec は指定されたコマンド
command を実行します。
&reftitle.parameters;
command
実行するコマンド
output
引数 output が存在する場合、指定した配列は、
コマンドからの出力の各行で埋められます。
\n のような後に続く空白は、この配列には含まれません。
配列に既に何らかの要素が
含まれる場合は、exec は配列の最後に追加される
ことに注意してください。関数が要素を追加することを望まないのなら、
それが exec に渡される前に、配列の
unset を呼び出してください。
result_code
引数result_codeが、引数
output と共に存在する場合、実行したコマンドの
ステータスがこの変数に書かれます。
&reftitle.returnvalues;
コマンド結果の最後の行を返します。コマンドを実行し、
一切干渉を受けずに直接コマンドから全てのデータを受けとる必要が
あるならば、passthru 関数を使ってください。
失敗時に &false; を返します。
実行されたコマンドの出力を取得するには、必ず output
パラメータを設定・使用してください。
&reftitle.errors;
exec
が command
を実行できない場合、E_WARNING が発生します。
command
が空だったり、null バイトが含まれている場合、
ValueError がスローされます。
&reftitle.changelog;
&Version;
&Description;
8.0.0
command
が空だったり、null バイトが含まれている場合、
ValueError がスローされるようになりました。
これより前のバージョンでは、
E_WARNING が発生し、&false; を返していました。
&reftitle.examples;
exec の例
]]>
&example.outputs.similar;
cmb
)
]]>
&reftitle.notes;
&warn.escapeshell;
¬e.exec-bg;
¬e.exec-bypass-shell;
&reftitle.seealso;
system
passthru
escapeshellcmd
pcntl_exec
バッククォート演算子