Ich habe versucht, die Ausgabe des Befehls mit php -i
in die a-Datei zu schreiben , php -i > info
und habe die folgende Fehlermeldung erhalten:
output is not a tty
Was heißt das?
Ich verwende git bash
unter Windows.
Ich habe versucht, die Ausgabe des Befehls mit php -i
in die a-Datei zu schreiben , php -i > info
und habe die folgende Fehlermeldung erhalten:
output is not a tty
Was heißt das?
Ich verwende git bash
unter Windows.
Antworten:
Was für mich funktioniert hat, basiert auf Pehs Kommentaren zu stackoverflow.com/questions/33622087
Wenn Sie C: \ Programme \ Git \ bin \ bash.exe anstelle von C: \ Programme \ Git \ git-bash.exe verwenden, funktioniert der Befehl einwandfrei
Ich habe ein ähnliches Thema gefunden. Eine Lösung, die für mich funktioniert hat:
Schreiben
php.exe -i > info
anstatt
php -i > info
Hängen Sie also die .exe
Erweiterung an Ihre Befehle an und es funktioniert.
Diese Lösung wurde hier gefunden: /programming//a/44727575/2377961
Wenn Sie Winpty unter der Haube verwenden, müssen Sie das -Xallow-non-tty
Argument übergeben, um dies zu beheben:
$ winpty python -c 'print("hello")' | grep h
stdout is not a tty
$ winpty -Xallow-non-tty python -c 'print("hello")' | grep h
hello
node
durch conemu
.
Ich glaube, in diesem Problem geht es mehr darum, wie Git Bash mit Piping umgeht, und weniger um PHP, da ich unter Windows mit Python auf dasselbe Symptom gestoßen bin. Die aktuell am häufigsten gewählte Antwort funktioniert bei mir nicht. Es könnte einige Monate später funktionieren, basierend auf diesem Kommentar und einem Folgekommentar . Aber ich bin ungeduldig, also entscheide ich mich für die native Windows-Eingabeaufforderung und voila, es funktioniert!
FUNKTIONIERT NICHT in Git Bash
rayluo@DESKTOP-10B0N4G MINGW64 ~
$ python -c "print('hello world')" > test.txt
stdout is not a tty
ARBEITET in der Eingabeaufforderung
(env27) C:\Users\rayluo>python -c "print('hello world')" > test.txt
(env27) C:\Users\rayluo>type test.txt
hello world
Sie leiten Ihre Ausgabe von Ihrem Terminal (tty) in eine Datei um. Daher ist Ihre Ausgabe nicht länger eine Kleinigkeit.
Die Nachricht macht vollkommen Sinn. Dies sollte jedoch kein Fehler sein.
Ich kann dieses Verhalten auf einem Linux-System nicht reproduzieren.