私のコマンドとその出力を貼り付けるコマンド

私のコマンドとその出力を貼り付けるコマンド

私はしばしば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'を使用してC-a C-[領域を強調表示し、対応するバッファにenterコピーして貼り付け、vimファイルに書き込んでからcat書き込みますpbcopy。より良い方法が必要です。

tee前にaを付けて$すべての出力をに送信するコマンドはありますか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

-x1つのオプションは、コマンドが実行されるサブシェルでトレース(使用)を有効にすることです。これはコマンドを STDERR に書き込み、標準出力を STDOUT に書き込みます。両方を収集して次にパイプしますpbcopy

$ ( set -x; ping -c 3 google.com ) 2>&1 | pbcopy

$ pbpaste
+ ping -c 3 google.com
PING google.com (173.194.217.138): 56 data bytes
64 bytes from 173.194.217.138: icmp_seq=0 ttl=44 time=37.436 ms
64 bytes from 173.194.217.138: icmp_seq=1 ttl=44 time=38.891 ms
64 bytes from 173.194.217.138: icmp_seq=2 ttl=44 time=39.329 ms
--- google.com ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 37.436/38.552/39.329/0.809 ms

おすすめ記事