$ TERM के लिए कोई मूल्य नहीं और कोई भी निर्दिष्ट Ubuntu LTS 18.04 नहीं


0

मैंने अपनी .bashrc और .bash_profile फ़ाइलों को उपयोगकर्ता और रूट दोनों के लिए होम डायरेक्टरी में संपादित किया। सब कुछ पूरी तरह से काम करता है। लगभग एक हफ्ते बाद, रिबूट होने पर मुझे यह त्रुटि मिलती है, लेकिन सब कुछ अभी भी पूरी तरह से काम करता है:
"TPUT: $ TERM के लिए कोई मूल्य नहीं और नहीं -T निर्दिष्ट किया गया है।
TPUT: $ TERM और no -T के
लिए कोई मूल्य निर्दिष्ट नहीं किया गया है। TPUT: कोई मूल्य नहीं । $ TERM और no -T निर्दिष्ट किया गया है।
TPUT: $ TERM और no -T के
लिए कोई मूल्य निर्दिष्ट नहीं है।
TPUT: $ TERM और no -T के लिए कोई मूल्य निर्दिष्ट नहीं है। TPUT: $ TERM और No -T निर्दिष्ट का कोई मूल्य नहीं।
TPUT: No $ TERM और no -T के लिए मान निर्दिष्ट करें।
TPUT: $ TERM और no -T के लिए कोई मान निर्दिष्ट नहीं है। परिणामस्वरूप प्रोफ़ाइल को सही ढंग से कॉन्फ़िगर नहीं किया जाएगा, कृपया जल्द से जल्द समस्या को ठीक करें। "

जैसा कि आप देख सकते हैं, मेरे पास 8 बार त्रुटि है, जो कि मेरे पीएस 1 चर को परिभाषित करने के लिए उपयोग की जाने वाली लाइनों की मात्रा है; और प्रत्येक पंक्ति tputमें है। मैं इसे कैसे ठीक करूं, और यह क्या है? मेरे टर्मिनल का प्रोफ़ाइल पूरी तरह से काम करता है।
पुनश्च: यह कोई डुप्लिकेट नहीं है, क्योंकि मैंने कुछ भी नहीं किया जैसे कि विंडोज़ ऐप चलाना, कर्नेल / ओएस ट्वीक्स, या एसश।

जवाबों:


1

आपका त्रुटि संदेश अनिवार्य रूप से आपको बताता है कि $TERMचर परिभाषित नहीं है। सबसे अधिक संभावना कुछ ऐसी हुई, जिससे आपके शेल को एक ऐसा वातावरण मिला, जहां यह चर अब सेट नहीं है: OS / टर्मिनल / sshd अपडेट, विभिन्न टर्मिनल, आदि। यदि आपने $TERMअपनी अनुकूलित शेल स्टार्टअप फ़ाइलों में से एक में स्पष्ट रूप से परिभाषित नहीं किया है, तो यह अवश्य होगा कहीं और परिभाषित किया गया है, और एक अद्यतन ने उस परिभाषा को हटा / तोड़ दिया हो सकता है। यहां खेलने के लिए कई चर हैं, थोड़ा गहरा खुदाई किए बिना वास्तविक कारण को इंगित करना संभव नहीं है।

समाधान, हालांकि, अपेक्षाकृत सरल हो सकता है: बस $TERMअपने में परिभाषित करें .bash_profileया /etc/profileइसे कुछ सार्थक सेट करें, उदाहरण के लिए:

export TERM=screen-256color

यह सबसे आधुनिक लिनक्स डिस्ट्रोस पर काम करना चाहिए, निश्चित रूप से यूबींटु पर।


0

मुझे जवाब मिल गया, लेकिन मदद के लिए धन्यवाद!

समस्या यह थी कि मेरी .bashrcफ़ाइल रंग tputसेट करने के लिए उपयोग करती है PS1। लेकिन कभी-कभी, .bashrcफ़ाइल को टर्मिनल वातावरण के बाहर निष्पादित किया जाता है, जहां कोई PS1चर नहीं होता है। समाधान सरल था: मैंने ifअपने बयान में एक बयान दिया । bashrcफ़ाइल ताकि मेरा PS1चर केवल .bashrcएक टर्मिनल वातावरण में निष्पादित होने पर बदल जाए ।

     if [[ $- == *i* ]]
then
     PS1="\[$(tput setaf 252)\][user]"

पुनश्च: मुझे यह दूसरे उत्तर में मिला, लेकिन मैं अब इसे नहीं ढूंढ सकता।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.