تعمل جعل السهم وحذف المفاتيح في سطر الأوامر KornShell

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

  •  06-07-2019
  •  | 
  •  

سؤال

وأنا جديدة ليونكس وأستخدمه سولاريس الشمس (V10 على ما أظن). لدي قذيفة مجموعة كما KornShell (KSH).

وأنا أتساءل كيف لجعل مفاتيح الأسهم وحذف العمل الرئيسية في سطر الأوامر. لقد فعلت مجموعة -o ايماكس ويعمل مسافة للخلف، ولكن ليس مفاتيح الأسهم ومفاتيح الحذف.

وأيضا هل من الممكن لضبط صعودا وهبوطا مفتاح السهم للتنقل عبر التاريخ سطر الأوامر؟

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

المحلول

لمفاتيح الأسهم، يمكنك وضع هذا في الخاص بك ملف .kshrc في الدليل الرئيسي:

set -o emacs
alias __A=`echo "\020"`     # up arrow = ^p = back a command
alias __B=`echo "\016"`     # down arrow = ^n = down a command
alias __C=`echo "\006"`     # right arrow = ^f = forward a character
alias __D=`echo "\002"`     # left arrow = ^b = back a character
alias __H=`echo "\001"`     # home = ^a = start of line
alias __Y=`echo "\005"`     # end = ^e = end of line

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

echo "\020"

للحصول على حرف تحكم ن المخصصة ل__B.

نصائح أخرى

واعتدت التالية ويسير على ما يرام:

set -o emacs

ملحوظة: هذه هي الشخصيات السيطرة الفعلية. في السادس، النوع الأول CTRL-V ثم CTRL-P (إذا ش تريد ف CTRL)

alias _A=^P
alias _B=^N
alias _D=^B
alias _C=^F

وإضافة خطوط أدناه أيضا:

alias __A=^P
alias __B=^N
alias __D=^B
alias __C=^F

ولا محاربته. فقط أن تطلب من المشرف تغيير قذيفة الافتراضي لسحق. يتم تضمين باش مع سولاريس 10، هو غاية KSH متوافقة، وأنها تدعم تعيينات الرئيسية التي تريد. يمكنك اطلاق باش فقط عن طريق الكتابة:

$ bash

هل يمكن إكسيك باش من .profile إذا بالمسؤول ليست مفيدة. هنا هو ما بالمسؤول أن تفعل لتغيير User1 إلى سحق (كما الجذر):

# passwd -e user1
Old shell: /bin/ksh
New shell: /usr/bin/bash        <- You type this, use whence bash to look up the path
passwd: password information changed for user1

ووKSH الافتراضي قد يكون ksh88 - والذي لا يعتمد الاسم المستعار __ وحدات الماكرو لوحة المفاتيح. Ksh93 يفعل. في الأساس، إذا كان لا يعمل - ربما تستخدم ksh88

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