Komutun çıktısını php -ikullanarak bir dosyaya yazmaya çalıştım php -i > infove aşağıdaki hatayı aldım :
output is not a tty
Bu ne demek?
git bashWindows'da kullanıyorum .
Komutun çıktısını php -ikullanarak bir dosyaya yazmaya çalıştım php -i > infove aşağıdaki hatayı aldım :
output is not a tty
Bu ne demek?
git bashWindows'da kullanıyorum .
Yanıtlar:
Peh'in stackoverflow.com/questions/33622087 ile ilgili yorumlarına dayanarak benim için ne işe yaradı?
C: \ Program Files \ Git \ git-bash.exe yerine C: \ Program Files \ Git \ bin \ bash.exe kullanırsanız, komut düzgün çalışır
Benzer bir konu buldum. Benim için çalışan bir çözüm:
Yazmak
php.exe -i > info
onun yerine
php -i > info
Yani .exeuzantıları komutlarınıza ekleyin ve çalışır.
Bu çözümü burada buldum : /programming//a/44727575/2377961
Kaputun altında winpty kullanıyorsanız, bunu -Xallow-non-ttydüzeltmek için argümanı geçmelisiniz :
$ winpty python -c 'print("hello")' | grep h
stdout is not a tty
$ winpty -Xallow-non-tty python -c 'print("hello")' | grep h
hello
nodearacılığıyla conemu.
Bu sorunun Git Bash'in boruları nasıl işlediğine ve PHP hakkında daha az olduğuna inanıyorum, çünkü Windows'da Python kullanarak aynı semptomla karşılaştım. Şu anda en çok oy alan cevap benim için çalışmıyor. Bu yoruma ve bir takip yorumuna dayanarak birkaç ay sonra işe yarayabilir . Ama sabırsızım, bu yüzden yerel Windows Komut İstemi'ni kullanmayı seçiyorum ve işe yarıyor!
Git Bash'te ÇALIŞMIYOR
rayluo@DESKTOP-10B0N4G MINGW64 ~
$ python -c "print('hello world')" > test.txt
stdout is not a tty
Komut İsteminde ÇALIŞIR
(env27) C:\Users\rayluo>python -c "print('hello world')" > test.txt
(env27) C:\Users\rayluo>type test.txt
hello world
Çıktınızı terminalinizden (tty) bir dosyaya yönlendiriyorsunuz. Bu nedenle çıktınız artık tty değildir.
Mesaj çok mantıklı. Ancak bu bir hata olmamalıdır.
Bir linux sisteminde bu davranışı yeniden oluşturamıyorum.