Это зависит от рассматриваемой оболочки.
Некоторые оболочки (например, AT & T ksh88) практически не редактируют строку ввода.
В оболочках, реализующих редактирование в режиме vi (вам может потребоваться включить это с помощью set -o vi), это делается нажатием клавиши Esc (чтобы переключиться из режима вставки) с последующим нажатием 0 для перехода к началу строки или $ для перехода к концу линии. Затем повторно войдите в режим вставки, нажав i - курсор останется там, где он находится - или a - курсор переместится на один вправо, чтобы добавить текст.
Редактирование режима vi недавно было предписано стандартом POSIX.
Гораздо более распространенное редактирование режима emacs (слава богу, оно не имеет ничего общего с Emacs editor-slash-operating-system) использует Ctrl-A для перехода к началу строки и Ctrl-E для перехода к концу линия. Этот режим требует, чтобы вы запускали set -o emacs на многих оболочках (особенно AT & T ksh93), но он включен по умолчанию в mksh и GNU bash.
Большинство современных оболочек поддерживают режимы emacs и vi . (Оба эти режима требуют tty для работы.)
Во многих оболочках вы можете настроить сочетания клавиш; обычно для режима emacs , хотя некоторые оболочки также позволяют настраивать привязку клавиш для режима vi . Если у вас есть ключ, с которым вы бы предпочли связать его, вам сначала нужно выяснить, какие последовательности клавиш он производит (например, в моей системе Alt-CursorLeft выдает Esc+[+1+;+3+D (^[[1;3D ; ^X - это Ctrl-X, а ^[ - это Esc), поэтому я могу напечатать что-то вроде
bind '^[[1;3D=beginning-of-line'
bind '"\e[1;3D":beginning-of-line'
и эта привязка клавиш будет изменена в зависимости от оболочки. Обычно их можно сохранить в файле запуска (~/.mkshrc , ~/.kshrc) или, для GNU bash, в ~/.inputrc . Обратите внимание, что не все оболочки поддерживают привязку всех ключей во всех версиях.
Обычно вы можете узнать, какие символы генерирует ключ, просто запустив cat на оболочке, набрав ключ и наблюдая. Затем нажмите ^C (Ctrl-C), чтобы отменить cat .