У системах UNIX ви можете натискати стрілки вгорі та внизу для навігації по попереднім командам. Це надзвичайно зручно.
Іноді я піднімаюсь вгору і знаходжу команду, яку хочу знову використовувати, але з деякими варіаціями. Якщо я ввожу такі зміни, у мене немає способу повернути початкову команду, якщо я не зареєстрував її history
.
Чи є спосіб "скасувати" зміни команди в історії, доступ до якої здійснюється за допомогою клавіш?
Моє поточне вирішення завдання - #
передбачити команду a . Таким чином поточна команда виконується як коментар, тому нічого не відбувається. Потім я можу знову переглядати команди з клавішами. Проблема полягає в тому, що команда, яку я використовував, може бути в списку далеко в списку, тож піднятися знову двісті разів - це трохи. Control + R також не є рішенням, оскільки я, можливо, не пам'ятаю, що саме шукав.
Приклад
Я набрав такі "50 команд тому":
ls -l /etc/httpd/conf/
Тепер я підійшов до цієї лінії і змінив її на
ls -l /etc/init.d/
але не натиснув Enter. Тепер я хочу знову дійти ls -l /etc/httpd/conf/
.
Моє оточення
$ echo $SHELL
/bin/bash
$ echo $TERM
xterm
ksh
поведінка тут відрізняється, схоже. А параметри редагування історії також залежать від обраного режиму редагування. У ksh
«и ві-режимі, наприклад, старий запис не буде перезаписано, і я також може видати команду скасування, як в vi
, з" та ".
ksh
, але добре знати, що таке існує там.
ksh
, наприклад, ви можете редагувати записи історії і посилатися на них , але залишити «попередню версію» записи; у вас є всі доступні команди.