วิธีแก้ไขตัวแปร TERM ไม่ได้ตั้งค่า

Withi Kaekhi Tawpaer Term Mi Di Tang Kha



ไม่ได้ตั้งค่าตัวแปรคำ ” ข้อผิดพลาดค่อนข้างน่าหงุดหงิด ข้อผิดพลาดนี้อาจรบกวนการทำงานตามปกติของเทอร์มินัล ส่งผลให้ประสบการณ์การใช้งานของผู้ใช้ลดลง บทความนี้มีวัตถุประสงค์เพื่ออธิบายสาเหตุที่เป็นไปได้ของข้อผิดพลาดและขั้นตอนที่สามารถแก้ไขได้

ให้เราเข้าใจตัวแปรเงื่อนไข สาเหตุที่เป็นไปได้สำหรับข้อผิดพลาดนี้ และวิธีการแก้ไขในสภาพแวดล้อมต่างๆ โดยทำตามขั้นตอนทีละขั้นตอน

ทำความเข้าใจความสำคัญของตัวแปรคำ

ความสำคัญของ 'ตัวแปรระยะ' สามารถเน้นได้เนื่องจากมีบทบาทสำคัญในสภาพแวดล้อม Linux นอกจากนี้ยังกำหนด GUI และพฤติกรรมของเทอร์มินัลอีกด้วย







ก่อนที่จะข้ามไปยังวิธีการแก้ไข ขอแนะนำให้ทำความเข้าใจว่าทำไมข้อผิดพลาดจึงเกิดขึ้น



สาเหตุที่เป็นไปได้สำหรับข้อผิดพลาด

ด้านล่างนี้เป็นสาเหตุที่เป็นไปได้สำหรับข้อผิดพลาด:



1. เงื่อนไขไม่ได้ถูกกำหนดไว้

ตามที่เข้าใจได้จากข้อความแสดงข้อผิดพลาด อาจมีความเป็นไปได้ที่ผู้ใช้ไม่ได้ตั้งค่าตัวแปรคำ การตั้งค่าตัวแปรคำจะระบุ 'เทอร์มินัล' ที่ผู้ใช้ต้องการใช้เพื่อรันโค้ดสคริปต์ การไม่ระบุระยะตัวแปรจะส่งผลให้ “ตัวแปรคำไม่ได้ถูกตั้งค่าใน Crontab” ข้อผิดพลาด.





สมมติว่าคุณกำลังพยายามเรียกใช้สคริปต์จากเทอร์มินัลซึ่งจำเป็นต้องระบุว่าคุณต้องการใช้เทอร์มินัลประเภทใด ในสถานการณ์นี้ การดำเนินการสคริปต์จะล้มเหลวเนื่องจากไม่สามารถระบุเทอร์มินัลที่คาดไว้ ซึ่งส่งผลให้เกิดข้อผิดพลาดดังกล่าว

2. ไม่ดำเนินการคำสั่งเทอร์มินัลจากเทอร์มินัล

จะต้องคำนึงว่าคำสั่งเทอร์มินัลสามารถดำเนินการได้จากเทอร์มินัลเท่านั้น อย่างไรก็ตาม หากมีใครรันคำสั่งจาก IDE ที่ไม่ใช่เทอร์มินัลหรือเทอร์มินัลอีมูเลเตอร์ ข้อผิดพลาด “ ตัวแปรคำไม่ได้ถูกตั้งค่าใน C” จะปรากฏขึ้น



หากคุณกำลังทำงานใน Eclipse IDE ในภาษา C++ โปรแกรมจะเรียกใช้ฟังก์ชัน system() ที่ระบุคำสั่ง clear เพื่อล้างหน้าจอ เมื่อดำเนินการแล้ว “ ไม่ได้ตั้งค่าตัวแปรคำใน C ++” ข้อผิดพลาดจะปะทุขึ้น .

เหตุผลนี้อาจเชื่อมโยงกับข้อผิดพลาดที่ระบุด้านล่าง:

  • ตัวแปร TERM ไม่ได้ถูกตั้งค่าใน Mac
  • ตัวแปร TERM ไม่ได้ถูกตั้งค่าใน XCode
  • ตัวแปร TERM ไม่ได้ถูกตั้งค่าใน IntelliJ
  • ตัวแปร TERM ไม่ได้ถูกตั้งค่าใน Python

หลังจากพัฒนาความเข้าใจเกี่ยวกับตัวแปร Term และสาเหตุที่เป็นไปได้สำหรับข้อผิดพลาด ผู้ใช้สามารถทำตามขั้นตอนทีละขั้นตอนเพื่อแก้ไขปัญหาในสภาพแวดล้อมที่ต้องการ

จะแก้ไข “ไม่ได้ตั้งค่าตัวแปร TERM” ได้อย่างไร

สามารถนำมาพิจารณาได้หลายขั้นตอนเพื่อแก้ไขข้อผิดพลาด ผู้ใช้สามารถกำจัดข้อผิดพลาดได้โดยการตั้งค่าตัวแปรสภาพแวดล้อม TERM หากไม่ได้ตั้งค่าไว้ก่อนหน้านี้ และดำเนินการคำสั่งเทอร์มินัลจากเทอร์มินัลเป็นหลัก นอกจากนี้ การเพิ่มฟังก์ชันล้างแบบกำหนดเองเพื่อล้างหน้าจอหรือใช้โปรแกรมจำลองเทอร์มินัลอาจเป็นกลยุทธ์ที่เหมาะสมที่สุด

พิจารณาวิธีแก้ปัญหาด้านล่างเพื่อแก้ไขข้อผิดพลาดในสภาพแวดล้อมที่คุณต้องการ

จะแก้ไข “ไม่ได้ตั้งค่าตัวแปร TERM” ใน Linux ได้อย่างไร

เพื่อแก้ไข “ตัวแปร TERM ไม่ได้ตั้งค่า” ในสภาพแวดล้อม Linux ให้ทำตามขั้นตอนด้านล่าง

ขั้นตอนที่ 1: เชื่อมต่อ/เข้าสู่ระบบเซิร์ฟเวอร์ในฐานะผู้ใช้รูท

เข้าสู่ระบบเซิร์ฟเวอร์ Linux ของคุณในฐานะผู้ใช้รูท:

ซูโดะ ของเขา

พิมพ์รหัสผ่านของผู้ใช้ที่เข้าสู่ระบบ:

ขั้นตอนที่ 2: กำหนดมูลค่า TERM ของคุณ

รันคำสั่งต่อไปนี้ในเทอร์มินัล:

เสียงสะท้อน $TERM

ผลลัพธ์สำหรับบรรทัดนี้จะแสดงเป็น:

หากเอาต์พุตอื่นปรากฏบนหน้าจอ ผู้ใช้สามารถใช้ค่านั้นเพื่อเปรียบเทียบเอาต์พุตกับคำสั่งที่ระบุด้านล่าง:

เงื่อนไขการพิมพ์

ขั้นตอนที่ 3: ส่งออกตัวแปร

ตอนนี้ให้ส่งออกตัวแปรโดยใช้คำสั่งต่อไปนี้:

ส่งออก ภาคเรียน =xterm-256สี

ขั้นตอนที่ 4: ผนวกเข้ากับไฟล์ “~/.bashrc”

การทำงานของขั้นตอนข้างต้นมีไว้สำหรับเซสชันเทอร์มินัลปัจจุบันเท่านั้น หลังจากที่เซิร์ฟเวอร์รีบูต จะถูกลืม ดังนั้นจึงจำเป็นต้องใส่ไว้ใน ~/.bashrc ด้วยคำสั่งต่อไปนี้:

เสียงสะท้อน 'ส่งออก TERM=xterm-256color' >> ~ / .bashrc

การใช้สัญลักษณ์ '>' จะแทนที่ทุกสิ่งภายในไฟล์ ดังนั้นตรวจสอบให้แน่ใจว่าได้ใช้สัญลักษณ์ '>>' เพื่อต่อท้ายบรรทัด

ขั้นตอนที่ 5: โหลด “~./bashrc” อีกครั้ง

สุดท้าย โหลด .bashsrc ซ้ำเพื่อให้แน่ใจว่ามีการเปลี่ยนแปลง เช่นเดียวกับการออกจากระบบและเข้าสู่ระบบ:

แหล่งที่มา ~ / .bashrc

ขั้นตอนที่ 6: อัปเดตตัวแปร TERM ใน “/etc/environment”

สำหรับการแก้ไขข้อผิดพลาดแบบถาวร ขอแนะนำให้แก้ไขระบบข้อผิดพลาดสำหรับผู้ใช้ทั้งหมดโดยการอัปเดตตัวแปรภายในไฟล์ “/etc/environment”:

ซูโดะ เสียงสะท้อน 'TERM=xterm-256color' >> / ฯลฯ / สิ่งแวดล้อม

นั่นคือทั้งหมดเพื่อแก้ไขตัวแปร TERM ในสภาพแวดล้อม Linux

จะแก้ไข “TERM Variable Not Set” ใน Windows ได้อย่างไร

หากข้อผิดพลาดเกิดขึ้นในสภาพแวดล้อมของ Windows ให้ทำตามขั้นตอนด้านล่าง

ขั้นตอนที่ 1: ตรวจสอบข้อมูลระบบ

คลิกขวาที่ไอคอน 'Start' ที่มุมซ้ายล่างของหน้าจอ

เลือกตัวเลือก “ระบบ” จากเมนูเพื่อเปิดการตั้งค่าของระบบ

ขั้นตอนที่ 2: ไปที่การตั้งค่าขั้นสูง

หน้าต่างต่อไปนี้จะปรากฏขึ้นด้านล่าง และจากหน้าต่างนี้ ให้เลือก “การตั้งค่าระบบขั้นสูง”

ขั้นตอนที่ 3: เปิดการตั้งค่าตัวแปรสภาพแวดล้อม

คลิกที่ปุ่ม 'ตัวแปรสภาพแวดล้อม' เพื่อเปิดการตั้งค่าตัวแปรสภาพแวดล้อม และคลิกที่ปุ่ม 'ใช่' (หากถาม)

ขั้นตอนที่ 4: เพิ่มการตั้งค่าใหม่

การตั้งค่าตัวแปรสภาพแวดล้อมจะเปิดขึ้น คลิกที่ปุ่มใหม่เพื่อเพิ่มตัวแปรเส้นทางใหม่ในตัวแปรระบบ

เพิ่มการตั้งค่าใหม่ที่เรียกว่า TERM และพิมพ์ 'xterm' หรือ 'xterm-256color' (โดยไม่ใช้เครื่องหมายคำพูด)

หลังจากขั้นตอนเหล่านี้ ข้อผิดพลาดจะได้รับการแก้ไขในสภาพแวดล้อมของ Windows

จะแก้ไข “ไม่ได้ตั้งค่าตัวแปร TERM” ใน PyCharm ได้อย่างไร

สำหรับการแก้ไขข้อผิดพลาดใน PyCharm ให้ทำตามขั้นตอนด้านล่าง

ขั้นตอนที่ 1: เปิดการตั้งค่า PyCharm

หลังจากเปิดตัว PyCharm IDE บนอุปกรณ์ของคุณแล้ว ให้คลิกที่ 'ไฟล์' และเลือก 'การตั้งค่า' ในกรณีของ Mac OS ให้เลือก 'การตั้งค่า'

ขั้นตอนที่ 2: ไปที่ส่วน Terminal ของเครื่องมือ

ค้นหาตัวเลือก 'เครื่องมือ' และหลังจากคลิกแล้วให้เลือก 'เทอร์มินัล'

ขั้นตอนที่ 3: ตรวจสอบการรวมเชลล์

ตรวจสอบให้แน่ใจว่าได้ทำเครื่องหมายในช่องถัดจาก 'Shell Integration' แล้ว

ขั้นตอนที่ 4: เพิ่มตัวแปร TERM ในตัวแปรสภาพแวดล้อม

คลิกที่ปุ่ม '+' และเพิ่ม 'TERM' เป็นชื่อและเพิ่มค่า 'xterm-256color'

ขั้นตอนที่ 5: บันทึกการเปลี่ยนแปลง

สุดท้าย ใช้และบันทึกการเปลี่ยนแปลงโดยคลิกที่ “ นำมาใช้ ” แล้วก็ “ ตกลง ' ปุ่ม.

ขั้นตอนที่ 6: รีสตาร์ท PyCharm

ตอนนี้รีสตาร์ท PyCharm เพื่อให้แน่ใจว่ามีการเปลี่ยนแปลง

นั่นคือทั้งหมดเพื่อแก้ไขข้อผิดพลาดที่เกิดจากการ “ ไม่ได้ตั้งค่าตัวแปร TERM ” ในสภาพแวดล้อมที่ต้องการ

โซลูชันที่ 2: การจำกัดคำสั่ง Terminal

เพื่อหลีกเลี่ยงข้อผิดพลาด “ไม่ได้ตั้งค่าตัวแปร TERM” ขอแนะนำให้จำกัดคำสั่งเทอร์มินัลให้อยู่ในสภาพแวดล้อมเทอร์มินัลจริง การข้ามคำสั่งที่ไม่จำเป็นในสภาพแวดล้อมที่ไม่ใช่เทอร์มินัลสามารถนำไปสู่การดำเนินการที่ปราศจากข้อผิดพลาด แนวทางปฏิบัตินี้จะป้องกันปัญหาเมื่อรันคำสั่ง เช่น system('clear') จากสภาพแวดล้อมที่ไม่ใช่เทอร์มินัล

สร้างฟังก์ชันแบบกำหนดเองสำหรับการกวาดล้างหน้าจอ

พิจารณาสร้างฟังก์ชันแบบกำหนดเองเพื่อล้างหน้าจอแทนการพึ่งพา ระบบ (“ชัดเจน”) การทำงาน. แนวทางนี้ให้แนวทางที่ยืดหยุ่นมากขึ้นในการทำงานในสภาพแวดล้อม Linux

สำหรับลินุกซ์

#รวม
#รวม

เป็นโมฆะ การเคลียร์หน้าจอ ( ) {
ถ้า ( ! cur_term ) {
ภายใน เริ่มต้นใหม่ ;
ระยะเวลาการตั้งค่า ( โมฆะ , STDOUT_FILENO , & เริ่มต้นใหม่ ) ;
ถ้า ( เริ่มต้นใหม่ <= 0 )
กลับ ;
}
พัต ( tigetstr ( 'ชัดเจน' ) ) ;
}

สำหรับวินโดวส์

#รวม
เป็นโมฆะ ScreenClearence ( )
{
จัดการจัดการเอาท์พุทมาตรฐาน;
ข้อมูล CONSOLE_SCREEN_BUFFER_INFO;
DWORD จำนวน;
DWORD จำนวนเซลล์;
พิกัด COORD = { 0 , 0 } ;
จัดการเอาต์พุตมาตรฐาน = GetStdHandle ( STD_OUTPUT_HANDLE ) ;
ถ้า ( จัดการเอาต์พุตมาตรฐาน == INVALID_HANDLE_VALUE )
กลับ ;
ถ้า ( ! รับConsoleScreenBufferInfo ( ผลผลิตมาตรฐานการซื้อขาย & ข้อมูล ) )
กลับ ;
numberOfCells = information.dwSize.X * information.dwSize.Y;
ถ้า ( ! FillConsoleOutputCharacter ( ผลผลิตมาตรฐานการซื้อขาย ( คช ) ',cellQuanity,พิกัด,&ปริมาณ))
กลับ;
ถ้า (!FillConsoleOutputAttribute(handlestandardoutput,information.wAttributes,
numberOfCells, coords,&quanity))
กลับ;
SetConsoleCursorPosition (จัดการเอาต์พุตมาตรฐาน, coords);
}

เพียงใช้ข้อมูลโค้ดการกวาดล้างหน้าจอที่ระบุข้างต้นเพื่อหลีกเลี่ยงข้อผิดพลาดนี้ในเซสชันเทอร์มินัลปัจจุบัน

บทสรุป

หากต้องการแก้ไขข้อผิดพลาดที่ไม่ได้กำหนดตัวแปร TERM คุณต้องตั้งค่าหรือตรวจสอบตัวแปร TERM จำกัดคำสั่งเทอร์มินัลให้อยู่ในสภาพแวดล้อมที่เหมาะสม และใช้ฟังก์ชันการทำความสะอาดหน้าจอแบบกำหนดเอง วิธีการปฏิบัติเหล่านี้ช่วยให้มั่นใจได้ถึงประสบการณ์การใช้งาน Terminal ที่ดีที่สุดไม่ว่าคุณจะใช้ Linux หรือ Windows ใช้กลยุทธ์เหล่านี้เพื่อปรับปรุงการเขียนสคริปต์ของคุณ