'출력이 tty'가 아니라는 것은 무엇을 의미합니까?


32

명령 php -i을 사용하여 파일에 파일 을 쓰려고 시도 php -i > info하고 다음 오류가 발생했습니다.

output is not a tty

무슨 뜻인가요?

git bashWindows에서 사용 하고 있습니다.


흠 .. 명령을 실행하는 디렉토리에 "info"라는 파일 또는 디렉토리가 이미 있습니까?

아니요, 그러나 명령을 실행 한 후에는 명령이 작성되고 비어 있으며 오류 만 출력됩니다.
Maxim Koretskyi

"strace php -i> info"를 시도한 다음 출력을 여기에 게시하십시오.

어떤 버전의 PHP를 사용하고 있습니까? 명령이 정보 파일을 올바르게 작성 했습니까?
michas

1
지금은 답변을 작성할 시간이 없지만 응답자가 code.google.com/p/mintty/issues/detail?id=56 , homepage.ntlworld.com을 좋아하고 싶다면 ./jonathan.deboynepollard/FGA/… , github.com/git-for-windows/git/issues/399 , github.com/rprichard/winptygithub.com/docker/toolbox/issues/231 을 가지고 실행 그들과 함께, 주시기 바랍니다.
JdeBP

답변:


19

stackoverflow.com/questions/33622087에 대한 Peh의 의견을 바탕으로 저에게 효과가 있었던 것은

C : \ Program Files \ Git \ git-bash.exe 대신 C : \ Program Files \ Git \ bin \ bash.exe를 사용하면 명령이 제대로 작동합니다.


3
이것은 나를 위해 작동하지 않았습니다. 같은 오류가 발생합니다.
Ryan

1
그러나 그것은 오늘 나를 위해 일했습니다! 몇 달 전에 왜 작동하지 않았는지 모르겠습니다. +1
Ryan

1
git bash 안에 bash를 입력하십시오
Rivenfall

18

나는 이와 비슷한 주제를 발견했다. 나를 위해 일한 하나의 솔루션 :

쓰다

php.exe -i > info

대신에

php -i > info

따라서 yust는 .exe확장명을 명령에 추가하면 작동합니다.

이 솔루션을 여기에서 찾았습니다 : /programming//a/44727575/2377961


12

후드 아래에서 winpty를 사용하는 경우이 -Xallow-non-tty문제를 해결하기 위해 인수를 전달해야합니다 .

$ winpty python -c 'print("hello")' | grep h
stdout is not a tty

$ winpty -Xallow-non-tty python -c 'print("hello")' | grep h
hello

1
node통해 사용할 때 문제가 해결되었습니다 conemu.
jakub.g

정말 고마워요 ... 이것이 저에게 효과적이었습니다.
HassanSh__3571619

2

나는이 문제가 Git Bash가 파이핑을 처리하는 방법에 관한 것이 아니라 PHP에 대해서는 덜 믿습니다 .Windows에서 Python을 사용하는 것과 동일한 증상이 발생했기 때문입니다. 현재 가장 투표 대답은 나를 위해 작동하지 않습니다. 이 의견후속 의견을 바탕으로 몇 달 후에 작동 할 수 있습니다 . 그러나 나는 참을성이 없어서 기본 Windows 명령 프롬프트를 사용하기로 선택했습니다.

Git Bash에서 작동하지 않습니다

rayluo@DESKTOP-10B0N4G MINGW64 ~
$ python -c "print('hello world')" > test.txt
stdout is not a tty

명령 프롬프트에서 작동

(env27) C:\Users\rayluo>python -c "print('hello world')" > test.txt
(env27) C:\Users\rayluo>type test.txt
hello world

1

터미널 (tty)의 출력을 파일로 리디렉션합니다. 따라서 출력은 더 이상 tty가 아닙니다.

메시지는 완벽하게 이해됩니다. 그러나 이것은 오류가 아니어야합니다.

Linux 시스템에서이 동작을 재현 할 수 없습니다.


죄송합니다. 잘못된 장소에 댓글을 달았습니다. "strace php -i"를 실행하고 출력을 붙여 넣으십시오 (처음에는 마지막 몇 줄).
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.