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

欢迎使用并提出意见建议。
1 henryhu 2019-05-10 00:03:50 +08:00 多数命令重复执行,结果不一样了,咋整? |
2 jamesxu 2019-05-10 06:36:31 +08:00 via iPhone 没啥意义,直接 > 输出到文件 |
3 Imr 2019-05-10 08:12:01 +08:00 via iPhone v 友的创意总能让人“大开眼界” |
4 InternetExplorer 2019-05-10 08:12:49 +08:00 via Android 重新运行命令………你可真是个小机灵鬼.jpg |
5 InternetExplorer 2019-05-10 08:15:55 +08:00 via Android 建议弄个命令白名单,不是什么命令都适合重新运行的 |
6 henryhu 2019-05-10 08:26:07 +08:00 楼主,tee 命令了解一下,命令结果终端输出,同时输出到文件,例如:ifconfig | tee ifconfig.log |
7 JackieMe 2019-05-10 08:42:15 +08:00 via Android xclip 好像就是干这个的? |
8 Sainnhepark 2019-05-10 08:46:59 +08:00 via Android 看到这个贴突然想问个问题,zsh 有没有什么办法在不重新运行上一个命令的情况下,打印上一个命令的输出? |
9 dongin 2019-05-10 10:25:07 +08:00 mac 下不是有 pbcopy/pbpaste 么? |
10 omph 2019-05-10 12:46:33 +08:00 直接用 shell 做不更方便吗? history -n -1 | xargs sh -c | xclip |
11 chunqiuyiyu OP @henryhu @jamesxu @Imr @InternetExplorer @henryhu 简单的练习项目,只是为了熟悉 TypeScript 与 Node.js 中 child_process 的使用,没想那么多。 |
12 chunqiuyiyu OP |
13 chunqiuyiyu OP @Sainnhepark 没有方法。 |
14 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) |
15 lululau 2019-05-10 13:33:34 +08:00 command | tee >(pbcopy or xclip) |
16 lululau 2019-05-10 13:36:10 +08:00 如果只是偶尔想拷贝一下先前执行过的命令的输出的话,如果用 tmux 就不用说了,如果用 iTerm2 则可以使用 AppleScript 拿到 iTerm2 pane 的文本内容,3.3.0 好像开始支持 Python 了,但是不知道有没有这个 API |
17 Cabana 2019-05-10 13:45:16 +08:00 瞬间先到了 rm -rf ./ |
19 mooncakejs 2019-05-10 14:28:31 +08:00 『重新运行命令』好可怕。 cd logs rm -rf * ---- cd / Knao |
20 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 上按"+用加号寄存器来复制粘贴就行了… |