Преобразование истории в скрипт?

Часто я набирал кучу команд, когда я понимаю, что я собираюсь набирать их и что мне действительно нравится сценарий.

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

4 Solutions collect form web for “Преобразование истории в скрипт?”

Если вы введете history в оболочку, вы увидите список последних команд. Вы можете увидеть это в сценарии по history > my_script или что-то (или просто скопировать его из файла ~ / .bash_history).

Из файла my_script вы можете удалить ненужные команды, добавить строку shebang, обычно #!/bin/bash , и сделать его исполняемым chmod +x my_script и все готово.

Как я подхожу к этому:

history -a – добавить новые строки в файл истории

ctrl-x, ctrl-e – открыть редактор, чтобы сделать быстрый скрипт (в vi, для меня)

:r ~/.bash_history | tail -n 20 :r ~/.bash_history | tail -n 20 – читать в последних 20 командах из файла истории.

Метод bash one liner:

 history | tail -20 |cut -c 8- > newscript.txt; chmod 777 newscript.txt 

Если вы добавите shebang, вы можете сделать это скриптом.

Другой подход может заключаться в использовании редактора с макроязыком.

  • Импортируйте кучу линий с вырезом и пастой
  • Отфильтруйте вывод команд командой grepping для вашего приглашения.
  • Удалите приглашение с начала строк.
  • вставить shebang в начале файла

Значительная подсказка поможет сделать эту работу в большинстве случаев. Для размеров сеанса более нескольких экранных страниц это будет не очень удобно.

  • Как выполнить несколько команд вместе в фоновом режиме?
  • Как создать более одного подкаталога с помощью ZSH? (на машине Debian)
  • Могу ли я автоматически заполнять вкладку в zsh с регулярным выражением
  • автозаполненные названные каталоги
  • zsh: отключить «файл существует:» предупреждение с перенаправлением
  • Объединение команды, включающей одиночные и двойные кавычки для другой команды
  • каталог автозаполнения zsh
  • Как отключить, как часто передаются строки вывода?
  • Можете ли вы сделать zsh autocorrect умнее?
  • Различные оболочки для интерактивной и неинтерактивной работы
  • sudo: nocorrect: команда не найдена
  • Interesting Posts

    В Ubuntu, как установить статический IP-адрес для firewire?

    vim – Храните резервную копию перед каждой записью

    «Mount» не указывает тип файловой системы

    Linux-диск не читается нигде

    Проблемы с колесиком мыши

    Как я могу скомпилировать программу C, которую я редактировал в Vi или Vim?

    Обработка двух файлов с помощью awk

    Что означает предупреждение: rpmts_HdrFromFdno при установке из rpmfusion?

    Отключить приостановку на уровне ядра (независимо от дистрибутива, DE и зарегистрированного пользователя или экрана входа в систему)

    Как правильно автоматически / вручную вращать файлы журналов для производства Rails App

    Как создать сайт с одинаковыми названиями страниц и контента?

    Как эта символьная связь не следует следовать?

    Запустите процесс в определенном окне экрана, если он существует, в противном случае создайте этот экран, а затем сделайте это

    Невозможно остановить bash, чтобы развернуть звезду (символ подстановки), переданный в приложение из shellscript

    Разрешить пользователю запускать команду в качестве другого пользователя со своей средой в sudoers

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