Здравствуйте, cgibin, Вы писали:
C>Всем привет.
C>Такой вопрос — в одной консоли у меня длинющая команда с миллионом ключей и регулярками, а в другой консоли текстовый редактор. Как бы эту команду пробросить в редактор минимальными телодвижениями? Bash, гуя нет.
ctrl+a (или home, если работает) Печатаем echo ', потом ctrl+e (end), печатаем ' > /tmp/command , далее переключаемся в текстовый редактор (предполагаю, что vim) и печатаешь (в режиме команд) :read /tmp/command.
Если редактор не vim, то сначала выйди из редактора, потом напиши cat /tmp/command >> myfile, в myfile допишется нужная строка в самом конце. Заходи в редактор и пользуйся уже командами редактора для работы с внутрипрограммным буфером обмена.
Теоретически можешь в первом пункте написать что-то вроде echo '....' >> /dev/tty2 (если речь идёт о физических консолях, а не виртуальных), но я не уверен, что оно сработает как положено. В целом это, наверное, был бы самый UNIX-way.
Здравствуйте, tlp, Вы писали:
tlp>Здравствуйте, vsb, Вы писали:
vsb>>ctrl+a (или home, если работает) Печатаем echo ', потом ctrl+e (end), печатаем ' > /tmp/command , далее переключаемся в текстовый редактор (предполагаю, что vim) и печатаешь (в режиме команд) :read /tmp/command.
tlp>и получаем фиг знает что если в теле команды есть символ ' (что в длиннющей команде с регуляками более чем вероятно)
Здравствуйте, Pzz, Вы писали:
Pzz>Здравствуйте, jazzer, Вы писали:
J>>буфер bash называется ~/.bash_history
Pzz>Умные все такие. Баш его апдейтит только при выходе.
ничего, левая резьба и на такое найдется
export PROMPT_COMMAND="history -a; history -c; history -r"
т.е. после каждой команды история будет дописываться в файл, потом будет очищаться история в памяти и после этого загружаться повторно из файла.
Тем самым можно заодно и сохранять команды между разными одновременно открытыми терминалами.
Здравствуйте, vsb, Вы писали:
vsb>Здравствуйте, cgibin, Вы писали:
C>>Всем привет.
C>>Такой вопрос — в одной консоли у меня длинющая команда с миллионом ключей и регулярками, а в другой консоли текстовый редактор. Как бы эту команду пробросить в редактор минимальными телодвижениями? Bash, гуя нет.
Если команда уже выполнялась ранее (иначе непонято, что мешало ее сразу набрать в редакторе) — открыть в редакторе файл ~/.bash_history и найти ее там
Такой вопрос — в одной консоли у меня длинющая команда с миллионом ключей и регулярками, а в другой консоли текстовый редактор. Как бы эту команду пробросить в редактор минимальными телодвижениями? Bash, гуя нет.
Здравствуйте, vsb, Вы писали:
vsb>Теоретически можешь в первом пункте написать что-то вроде echo '....' >> /dev/tty2 (если речь идёт о физических консолях, а не виртуальных), но я не уверен, что оно сработает как положено. В целом это, наверное, был бы самый UNIX-way.
Здравствуйте, vsb, Вы писали:
vsb>Теоретически можешь в первом пункте написать что-то вроде echo '....' >> /dev/tty2 (если речь идёт о физических консолях, а не виртуальных), но я не уверен, что оно сработает как положено. В целом это, наверное, был бы самый UNIX-way.
Зверь.
UPD. Не, не зверь. На экран оно попадает, а вот в буфер vim (или bash) — нет, так что не сохраняется (а баш при нажатии enter отрабатывает пустую строку, а не переданную команду).
Здравствуйте, vsb, Вы писали:
vsb>ctrl+a (или home, если работает) Печатаем echo ', потом ctrl+e (end), печатаем ' > /tmp/command , далее переключаемся в текстовый редактор (предполагаю, что vim) и печатаешь (в режиме команд) :read /tmp/command.
....
и получаем фиг знает что если в теле команды есть символ ' (что в длиннющей команде с регуляками более чем вероятно)
Здравствуйте, dimgel, Вы писали:
D>UPD. Не, не зверь. На экран оно попадает, а вот в буфер vim (или bash) — нет, так что не сохраняется (а баш при нажатии enter отрабатывает пустую строку, а не переданную команду).
Здравствуйте, cgibin, Вы писали:
C>Такой вопрос — в одной консоли у меня длинющая команда с миллионом ключей и регулярками, а в другой консоли текстовый редактор. Как бы эту команду пробросить в редактор минимальными телодвижениями? Bash, гуя нет.
Здравствуйте, cgibin, Вы писали:
C>Такой вопрос — в одной консоли у меня длинющая команда с миллионом ключей и регулярками, а в другой консоли текстовый редактор. Как бы эту команду пробросить в редактор минимальными телодвижениями? Bash, гуя нет.
Здравствуйте, cgibin, Вы писали:
C>Всем привет.
C>Такой вопрос — в одной консоли у меня длинющая команда с миллионом ключей и регулярками, а в другой консоли текстовый редактор. Как бы эту команду пробросить в редактор минимальными телодвижениями? Bash, гуя нет.
Здравствуйте, fk0, Вы писали:
fk0>Здравствуйте, tlp, Вы писали:
tlp>>Здравствуйте, vsb, Вы писали:
vsb>>>ctrl+a (или home, если работает) Печатаем echo ', потом ctrl+e (end), печатаем ' > /tmp/command , далее переключаемся в текстовый редактор (предполагаю, что vim) и печатаешь (в режиме команд) :read /tmp/command.
tlp>>и получаем фиг знает что если в теле команды есть символ ' (что в длиннющей команде с регуляками более чем вероятно)
fk0> Говно вопрос!
fk0> <Ctrl-A>cat > /tmp/file.txt <<END_MARKER<Ctrl-V><Ctrl-j><Ctrl-e><Enter>END_MARKER<Enter>