Команда для демонстрации моей команды

#macos #command-line #clipboard

#macos #командная строка #буфер обмена

Вопрос:

Часто я хочу опубликовать что-то в ошибке github, например

 $ ping google.com
PING google.com (216.58.195.238): 56 data bytes
Request timeout for icmp_seq 0
64 bytes from 216.58.195.238: icmp_seq=0 ttl=53 time=1064.747 ms
  

Прямо сейчас я запускаю команду, использую screen ‘s C-a C-[ для выделения области, enter чтобы скопировать ее в этот буфер, вставить в vim , записать в файл, а затем cat это в pbcopy . Должен быть лучший способ.

Есть ли команда, которую я могу запустить, которая будет tee командой, которую я ввожу, с префиксом $ и всем выводом pbcopy ? Или что-нибудь близкое? Я представляю

 $ demo ping google.com
PING google.com (216.58.195.238): 56 data bytes
Request timeout for icmp_seq 0
64 bytes from 216.58.195.238: icmp_seq=0 ttl=53 time=1064.747 ms
^C
$
  

и теперь исходная вещь, которую я вставил, находится в моем буфере обмена Mac.

Комментарии:

1. Это могло бы помочь, если бы вы добавили тег для используемой вами ОС.

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

3. Да? Выберите команду и ее вывод и нажмите Cmd-C , и она будет в вашем буфере обмена.

4. @MarkSetchell 1) Это довольно медленно выполняется, если я делаю это часто, 2) если текст занимает несколько screen секунд, интеграция прокрутки с Terminal и screen не работает с мышью.

Ответ №1:

Вы можете сделать

 script log.txt
ping www.google.com
exit
  

И ваша команда и выходные данные будут сохранены в log.txt

Редактировать

Основываясь на вашем комментарии, вы хотите

 command="whatever command you want to run"
echo $ $command > log.txt
$command >> log.txt
  

Я не думаю, что вы найдете единственную команду, которая делает именно это.

Комментарии:

1. Это близко. Она содержит всю мою подсказку, а также верхний и нижний колонтитулы, которые мне не нужны для моих вставок. Можете ли вы легко справиться с этим?