コンテンツにスキップ

Top

GitBashでリダイレクトしたら stdout is not a tty とか言われて怒られた

php で echo するプログラム

<?php
echo "Hello World!";
を作成し、実行結果をリダイレクトしてみたら、
php sample.php > sample.txt
stdout is not a tty
とエラーがでて、sample.txtファイルはできているが中身は空だった。

stdout is not a tty ってなんじゃい?と思って調べた。

拡張子をつければいい

結論から言えばttyがどうこうとかしらんけど、.exe拡張子をつければOK牧場だとわかったのでつける。

php sample.php > sample.txt
stdout is not a tty

のphpに拡張子 .exe をつけると、

php.exe sample.php > sample.txt
エラーがなくなった!
sample.txtを開いたらちゃんと書き込まれていた!

以上!