Knao - 将上一个终端命令输出粘入剪切板

2019-05-09 21:51:07 +08:00
 chunqiuyiyu

说明

最初的想法是将终端中出错的的命令输出记录下来,后来就想到可以一步到位放入剪切板中,便于分享给他人或者在网上搜索。也许没什么用处,但是让我熟悉了 TypeScript 与 Node.js 中子进程相关的 API。原理简单到发指:读取终端命令历史文件,找到上次运行的命令,重新运行命令,将输出通过管道操作符(|)输出到剪切板,只支持一些简单的同步命令。

预览

链接

Knao

欢迎使用并提出意见建议。

3232 次点击
所在节点    分享创造
21 条回复
henryhu
2019-05-10 00:03:50 +08:00
多数命令重复执行,结果不一样了,咋整?
jamesxu
2019-05-10 06:36:31 +08:00
没啥意义,直接 > 输出到文件
Imr
2019-05-10 08:12:01 +08:00
v 友的创意总能让人“大开眼界”
InternetExplorer
2019-05-10 08:12:49 +08:00
重新运行命令………你可真是个小机灵鬼.jpg
InternetExplorer
2019-05-10 08:15:55 +08:00
建议弄个命令白名单,不是什么命令都适合重新运行的
henryhu
2019-05-10 08:26:07 +08:00
楼主,tee 命令了解一下,命令结果终端输出,同时输出到文件,例如:ifconfig | tee ifconfig.log
JackieMe
2019-05-10 08:42:15 +08:00
xclip 好像就是干这个的?
Sainnhepark
2019-05-10 08:46:59 +08:00
看到这个贴突然想问个问题,zsh 有没有什么办法在不重新运行上一个命令的情况下,打印上一个命令的输出?
dongin
2019-05-10 10:25:07 +08:00
mac 下不是有 pbcopy/pbpaste 么?
omph
2019-05-10 12:46:33 +08:00
直接用 shell 做不更方便吗?
history -n -1 | xargs sh -c | xclip
chunqiuyiyu
2019-05-10 12:48:46 +08:00
@henryhu
@jamesxu
@Imr
@InternetExplorer
@henryhu 简单的练习项目,只是为了熟悉 TypeScript 与 Node.js 中 child_process 的使用,没想那么多。
chunqiuyiyu
2019-05-10 12:49:57 +08:00
@JackieMe
@dongin
@omph 内部就是调用了这些 Shell 命令。
chunqiuyiyu
2019-05-10 12:50:49 +08:00
@Sainnhepark 没有方法。
omph
2019-05-10 13:28:09 +08:00
@Sainnhepark [Save all the terminal output to a file - Unix & Linux Stack Exchange]( https://unix.stackexchange.com/questions/200637/save-all-the-terminal-output-to-a-file)
lululau
2019-05-10 13:33:34 +08:00
command | tee >(pbcopy or xclip)
lululau
2019-05-10 13:36:10 +08:00
如果只是偶尔想拷贝一下先前执行过的命令的输出的话,如果用 tmux 就不用说了,如果用 iTerm2 则可以使用 AppleScript 拿到 iTerm2 pane 的文本内容,3.3.0 好像开始支持 Python 了,但是不知道有没有这个 API
Cabana
2019-05-10 13:45:16 +08:00
瞬间先到了 rm -rf ./
Cabana
2019-05-10 13:45:35 +08:00
@Cabana #17 先->想
mooncakejs
2019-05-10 14:28:31 +08:00
『重新运行命令』好可怕。
cd logs
rm -rf *
----
cd /
Knao
fuzhuo233
2019-05-16 22:47:15 +08:00
macOS 上 cat package.json | pbcopy; 粘贴回来 pbpaste > out
cygwin 上 cat package.json > /dev/clipboard
Linux 上我没用过貌似用 xclip 可以 cat package.json | xclip;

macOS 一般在 vim 上按"+用加号寄存器来复制粘贴就行了…

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/562664

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX