以下の内容はhttps://iww.hateblo.jp/entry/20230227/execより取得しました。


PHPのシステム関数で、hexdumpの出力結果同士のdiffをとる

コマンドの出力結果同士の差分は、bashで プロセス置換 というワザを使う。

diff <(hexdump -C /tmp/a.bin) <(hexdump -C /tmp/b.bin)

bash でコマンドの実行結果をファイルとして扱う - Diary
bashのプロセス置換で遊んでみよう! | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]


これをsystem関数で呼べばいいだけだけど、エラーになる。 たぶん/bin/shを使ってる

<?
system("diff <(hexdump -C /tmp/a.bin) <(hexdump -C /tmp/b.bin)");
...

sh: -c:0: 予期しないトークン `(' 周辺に構文エラーがあります


よって、敢えてbashを使うことで意図した動作になる

<?
system("bash -c 'diff <(hexdump -C /tmp/a.bin) <(hexdump -C /tmp/b.bin)'");

やったぜ




以上の内容はhttps://iww.hateblo.jp/entry/20230227/execより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14