كيف أجعل البحث العكسي عن bash يعمل في Terminal.app دون أن يعرض مخرجات مشوهة؟

StackOverflow https://stackoverflow.com/questions/35563

  •  09-06-2019
  •  | 
  •  

سؤال

باستخدام Terminal.app على OS X 10.5، غالبًا ما ترى الأوامر مشوهة عند إجراء بحث عكسي باستخدام Bash.هل هناك نوع ما من termcap أو ربما أمر bash shopt الذي يمكنه إصلاح هذا؟هذا مزعج جدا.

خطوات التكاثر:افتح Terminal.app، وابحث عكسيًا عن أمر طويل.اضغط على <ctrl>-E بمجرد العثور على الأمر.ينتقل المؤشر إلى نهاية السطر، ولكن لا يتم تحديث الشاشة.

أعتقد أن هذه مشكلة من نوع ما في مكتبة readline على نظام التشغيل OS X.إنها مشكلة في تحديث موضع المؤشر بعد البحث أكثر من أي شيء آخر.في الأساس، يميل ctrl-a وctrl-e إلى تعطيل مخرجات البحث.

صورة فشل محطة OS X http://involution.com/images/osxterminal.png

في ما سبق، يجب أن يتم عرض الجزء الأول من الأمر، ويجب أن يكون المؤشر في نهاية السطر، لكنه ليس كذلك.لا يمكنك فعليًا رؤية ما تقوم بتحريره عندما يحدث ذلك.

هل كانت مفيدة؟

المحلول

لقد تمكنت من ضبط المصطلح الخاص بي على xterm بدلاً من xterm-color وهذا يحل المشكلة.(مصطلح التصدير = xterm).

نصائح أخرى

قد ترغب في إلقاء نظرة على هذا المنصب.

bash-prompt-in-os-x-terminal-broken

واجهت نفس المشكلة وكان لها علاقة بمتغير PS1.اعلمني اذا كان هذا مفيدا لك.

إذا كان للموجه ألوان، فهذا خطأ معترف به.
يرى تقرير الشوائب الرسالة#00019.

لقد واجهت هذا الخطأ، وبينما لا أعرف كيفية حله، يمكنك التغلب عليه بالضغط على <down><up>

لست متأكدًا مما إذا كانت هذه هي المشكلة هنا، ولكن السبب الشائع جدًا لتلف الشاشة في bash (مع أي محاكي طرفي، وليس فقط Terminal.app) هو تغيير حجم النافذة.

سوف يقرأ Bash حجم النافذة عند بدء التشغيل، ثم يفترض أنه لم يتغير.عندما يتم تغيير حجم النافذة، سيتم إرسال إشارة إلى أي تطبيق يقرأه حاليًا من وحدة التحكم.إذا لم يكن هذا bash (لأنك تقوم بتشغيل محرر نصوص في ذلك الوقت، ربما)، فلن يعرف bash عنه.

الحل في هذه الحالة هو تغيير حجم النافذة مرة أخرى حتى يحصل باش على الإشارة ويلاحظ الحجم الجديد.

لا أستطيع إعادة إنتاج هذا، وضرب إما كنترول+ه, كنترول+أ أو تقوم مفاتيح الأسهم بتحديث سطر الأوامر بشكل صحيح.هل تقوم بتشغيل 10.5.4؟هل ربما يكون خطأ في الإصدارات السابقة؟

في أسوأ الحالات، يمكنك تشغيل خادم X (في مكان ما ضمن الأدوات المساعدة) وإطلاق xterm حقيقي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top