Могу ли я автоматически использовать в сценарии то, что я написал на оболочке (bash, cmd, irb и т. Д.)? - PullRequest
0 голосов
/ 08 июня 2010

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

Если я скопирую все вещи в окне, то у меня будет много вещей, чтобы удалить и исправить . ( и его нелегко скопировать из оболочки )

Резюме: Я хочу взять все, что я написал ...

Есть ли простой способ выполнить эту простую задачу?


Обновление: частичное решение

В bash решение довольно простое, есть команда history , и есть порты идеи:

IRB : Настройка IRB

Cmd : использовать PowerShell -> Get-History ( или использовать cygwin )


Еще одно обновление: Я обнаружил, что doskey имеет историю параметров для этого:
cmd : Doskey / history >> history.cmd

Ответы [ 2 ]

3 голосов
/ 08 июня 2010

Да, вы можете использовать:

history -w filename.sh

Это сохранит историю ваших команд в filename.sh. Возможно, вам придется отредактировать это, чтобы оставить в конце только строки, которые являются частью вашей последовательности команд.

ПРИМЕЧАНИЕ. Это команда bash, которая работает не со всеми оболочками.

1 голос
/ 26 июня 2010

script может помочь здесь.Набрав script , вы попадете в новую оболочку и сохраните весь ввод и вывод в файл с именем typescript .Когда вы закончите с вашим взаимодействием, выйдите из оболочки.Файл машинописный текст может быть изменен на grep'ing.Например, вы можете выполнить команду grep и сохранить результаты в файл.Если вы неуклюжий машинистка, как я, то вам, возможно, придется выполнить некоторую работу по очистке, чтобы удалить пробелы.Раньше была программа, которая делала это, но я, кажется, сейчас ее не вижу.Вот что я нашел в сети: http://www.cat.pdx.edu/tutors/files/fixts.cpp

Этот подход особенно полезен, если вы хотите отслеживать и публиковать в Интернете весь интерактивный сеанс.

...