ให้เราเข้าใจตัวแปรเงื่อนไข สาเหตุที่เป็นไปได้สำหรับข้อผิดพลาดนี้ และวิธีการแก้ไขในสภาพแวดล้อมต่างๆ โดยทำตามขั้นตอนทีละขั้นตอน
ทำความเข้าใจความสำคัญของตัวแปรคำ
ความสำคัญของ 'ตัวแปรระยะ' สามารถเน้นได้เนื่องจากมีบทบาทสำคัญในสภาพแวดล้อม 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 ใช้กลยุทธ์เหล่านี้เพื่อปรับปรุงการเขียนสคริปต์ของคุณ