क्या `एक आउटपुट एक tty` त्रुटि मतलब नहीं है?


32

मैंने निम्न त्रुटि php -iका उपयोग करके एक फ़ाइल में कमांड के आउटपुट को लिखने की कोशिश की php -i > info:

output is not a tty

इसका क्या मतलब है?

मैं git bashविंडोज पर उपयोग कर रहा हूं ।


हम्म .. जिस निर्देशिका में आप कमांड चला रहे हैं, क्या कोई फ़ाइल या निर्देशिका "जानकारी" नाम से पहले से है?

नहीं, लेकिन कमांड चलाने के बाद इसे बनाया जाता है, केवल खाली होता है और त्रुटि को आउटपुट किया जाता है
मैक्सिम कोरसेटस्की

कृपया एक "स्ट्रेस php -i> इंफ़ॉर्मेशन" आज़माएँ, फिर यहाँ आउटपुट पोस्ट करें ..

आप php के किस संस्करण का उपयोग कर रहे हैं? क्या कमांड ने सही ढंग से जानकारी फ़ाइल बनाई है?
माइकस

1
मेरे पास इस बारे में जवाब लिखने के लिए अभी समय नहीं है, लेकिन यदि कोई भी उत्तरदाता कोड. google.com/p/mintty/issues/detail?id=56 , होमपेज . ntlworld.com को पसंद करना चाहता है। ./jonathan.deboynepollard/FGA/… , github.com/git-for-windows/git/issues/399 , github.com/rprichard/winpty , और github.com/dockx/toolbox/issues/231 हाथ में लेकर दौड़ें उनके साथ, कृपया स्वतंत्र महसूस करें।
JdeBP 12

जवाबों:


19

Peh की टिप्पणियों पर stackoverflow.com/questions/33622087 पर आधारित मेरे लिए क्या काम किया

यदि आप C: \ Program Files \ Git \ bin \ bash.exe का उपयोग C के बजाय करते हैं: \ Program Files \ Git \ git-bash.exe तो कमांड ठीक काम करती है


3
यह मेरे लिए काम नहीं किया। मुझे समान त्रुटि मिली।
रयान

1
लेकिन यह आज मेरे लिए काम किया! मुझे नहीं पता कि कुछ महीने पहले यह काम क्यों नहीं किया। +1
रयान

1
git bash के अंदर सिर्फ बैश टाइप करें
Rivenfall

18

मुझे इसी तरह का एक विषय मिला। एक समाधान जो मेरे लिए काम किया:

लिखना

php.exe -i > info

के बजाय

php -i > info

इसलिए .exeआपके आदेशों में विस्तार को आगे बढ़ाता है और यह काम करता है।

यह समाधान यहाँ मिला: /programming//a/44727575/2377961


12

यदि आप हुड के तहत विनपेट का उपयोग करते हैं, तो आपको -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
याकूब।

बहुत बहुत धन्यवाद ... यह मेरे लिए काम किया।
हसनशाहजी3571619

2

मेरा मानना ​​है कि यह मुद्दा इस बारे में अधिक है कि गिट बैश पाइपिंग को कैसे संभालता है, और पीएचपी के बारे में कम है, क्योंकि मुझे विंडोज के लिए पायथन का उपयोग करने के समान लक्षण का सामना करना पड़ा। वर्तमान में सर्वाधिक वोट जवाब मेरे लिए काम नहीं करता है। इस टिप्पणी और एक अनुवर्ती टिप्पणी के आधार पर यह कुछ महीने बाद काम कर सकता है । लेकिन मैं अधीर हूं इसलिए मैं देशी विंडोज कमांड प्रॉम्प्ट और वॉयला का उपयोग करना चुनता हूं, यह काम करता है!

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) से आउटपुट को एक फ़ाइल में रीडायरेक्ट कर रहे हैं। इसलिए आपका आउटपुट अब एक छोटा नहीं है।

संदेश एकदम सही समझ में आता है। हालांकि यह एक त्रुटि नहीं होनी चाहिए।

मैं एक लिनक्स सिस्टम पर इस व्यवहार को पुन: पेश नहीं कर सकता।


क्षमा करें, मैंने गलत जगह टिप्पणी की। कृपया "स्ट्रेस php -i" चलाएं और आउटपुट (पहली बार में कुछ पंक्तियाँ) पेस्ट करें।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.