Как сохранить введенную команду без ее выполнения?

Каждый пользователь Linux испытывал эту неприятную вещь: вы начинаете набирать длинную и скучную команду, а затем понимаете, что раньше вы должны были выполнить другую. Как сохранить первый, чтобы выполнить его позже?

пример

Вы начинаете печатать

mycommand -a -F --conf /very/long/path --and /another/one /input/file.txt 

Но прежде чем нажимать «Enter», вы понимаете, что сначала нужно сделать cp f.txt /input/file.txt .

Итак, вы застряли в своей команде, и если вы не нажмете Enter, вы не сможете вернуть ее, используя свою историю bash.

Каков наилучший способ справиться с этим?

  • Сортировка по размеру
  • Как найти пакеты только, какое имя пакета равно тексту с aptitude?
  • Удаленная команда ssh не отправляет echo-переменную из сценария ksh в AIX
  • bash: несколько команд на одной строке с другим кодом выхода
  • как предоставить пользовательские имена файлов при выполнении команды split в unix?
  • Влияют ли параметры и имя на команду в Linux?
  • Что называется `--`?
  • Получить последнюю строку вывода `df`
  • 5 Solutions collect form web for “Как сохранить введенную команду без ее выполнения?”

    Hit CTRLU (kill line – это сохраняет строку в kill-ring оболочки), сделайте то, что вам нужно сделать, а затем в новом приглашении нажмите CTRLY (yank from kill-ring), чтобы вернуть исходную команду ,

    В качестве альтернативы, и это особенно полезно, если вы находитесь в вложенной команде, например while или loop, нажмите CTRL- C , которая добавляет команду в историю без ее выполнения и очищает строку, поэтому вы можете ее вызвать с помощью когда вы готовы его использовать.

    Прокомментируйте строку и нажмите клавишу ввода.

    CtrlA
    #
    Войти

    поэтому вы держите линию в истории

    Esc# как положить # в начале и нажатие Enter :

    Пример:

     $ find /{,usr/}{,s}bin/ -type f -ls | awk '$3~/^...s/' | nl 

    ( Esc# )

     $ #find /{,usr/}{,s}bin/ -type f -ls | awk '$3~/^...s/' | nl $ _ 

    Работает в Баше и оболочке Корна.

    С zsh в режиме emacs, Alt + Q или Ctrl + Q ( push-line widget), толкает текущую командную строку в стек (сохраняет для более позднего) и очищает текущий входной буфер.

    Затем вы можете ввести другую команду, после чего возвращается последняя нажатая команда ( выталкивается из этого стека).

    Если вы специально хотите сохранить команду, я обычно делаю то, что предложил Эммануил. Но если вы просто хотите ввести другую команду перед текущей, вам не нужно ее сохранять. Перейдите к началу строки, введите другую команду и добавьте точку с запятой.

    Ctrlcp f.txt /input/file.txt ; Войти

    Это должно выполнять обе команды в том порядке, в котором вы хотите. Более того, он будет сохранен в вашей истории вместе, поэтому, если в будущем вы захотите снова выполнить вторую команду, и вы достигнете ее с помощью Ctrl- R , вы увидите там первую команду и напомните, что она должна быть выполнена до (в случае, когда вам всегда нужно выполнять оба действия).

    Вы также можете использовать && вместо точки с запятой, если вы хотите, чтобы вторая команда выполнялась только в том случае, если первая выполнена успешно.

    Interesting Posts

    Как расширить логический и расширенный раздел с помощью fdisk

    Debian Jessie GRUB2 на многопользовательском ноутбуке EFI не может запускать ядро-initramf для Gentoo

    Ошибка с именем файла, содержащим круглые скобки

    Как повысить лимит открытых файлов – /etc/security/limits.d vs /etc/security/limits.conf

    Можно ли предотвратить потребление энтропии при запуске программы?

    fdisk: не удалось определить размер сектора жесткого диска USB на FreeBSD

    Напомнить синтаксис, объединяющий еженедельное событие с временным диапазоном

    Запись вывода wget или curl в пользовательское имя файла на основе URL-адреса

    Как изменить размер верхней панели оболочки GNOME

    Передайте команду ROOT из сценария оболочки и оставив ее открытой

    scp для гостя KVM за NAT

    Что касается создания и уничтожения конфиденциальных данных в системах linux / unix

    Передача изображения докеров на несколько серверов без докерной машины

    Как предотвратить сохранение «выхода» при закрытии SSH-соединения?

    Создание первой резервной копии

    Linux и Unix - лучшая ОС в мире.