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

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

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

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 в начале файла

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

  • Функции, определенные в .zshrc, не найдены при запуске скрипта
  • Подсчет файлов в листах дерева каталогов
  • Есть что-то вроде закрытия для zsh?
  • Как подготовить файлы для rsync для файловой системы, не учитывающей регистр?
  • Как я могу определить, контролируется ли оболочка из SSH?
  • Bash и / или Zsh: Возможно ли настроить режим вставки Vi для создания привязки, которая перемещает определенное количество символов?
  • Сценарий bash / zsh не вызывается из терминала в FreeBsd, ни в bash, ни в zsh
  • В zsh как я могу перечислить все переменные среды?
  • zsh с использованием процессора на 100% после запуска редактора атома
  • Как напечатать код функции оболочки в терминале?
  • Создание оболочки zsh по умолчанию без доступа root
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.