Bourne シェルでコマンド出力をキャプチャする標準的な方法は、次の$()
構文を使用することです。
output=$(mycommand)
ただし、大量の出力があるコマンドの場合、これには、シェルが全体に 1 つの長い文字列としてメモリを割り当てる必要があります。popen
私ができる新しいファイル記述子を取得するために、Unix C function と道徳的に同等のことをするものを見つけたいと思いますread
:
newfd=popen(mycommand)
while read -u $newfd LINE; do
#process output
done
これは可能ですか?