爱意满满的作品展示区。
chunqiuyiyu

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

  •  
  •   chunqiuyiyu · May 9, 2019 · 4221 views
    This topic created in 2585 days ago, the information mentioned may be changed or developed.

    说明

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

    预览

    preview.gif

    链接

    Knao

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

    21 replies    2019-05-20 14:02:00 +08:00
    henryhu
        1
    henryhu  
       May 10, 2019   ❤️ 2
    多数命令重复执行,结果不一样了,咋整?
    jwk345
        2
    jwk345  
       May 10, 2019 via iPhone   ❤️ 1
    没啥意义,直接 > 输出到文件
    Imr
        3
    Imr  
       May 10, 2019 via iPhone   ❤️ 1
    v 友的创意总能让人“大开眼界”
    InternetExplorer
        4
    InternetExplorer  
       May 10, 2019 via Android   ❤️ 2
    重新运行命令………你可真是个小机灵鬼.jpg
    InternetExplorer
        5
    InternetExplorer  
       May 10, 2019 via Android   ❤️ 1
    建议弄个命令白名单,不是什么命令都适合重新运行的
    henryhu
        6
    henryhu  
       May 10, 2019   ❤️ 1
    楼主,tee 命令了解一下,命令结果终端输出,同时输出到文件,例如:ifconfig | tee ifconfig.log
    JackieMe
        7
    JackieMe  
       May 10, 2019 via Android   ❤️ 1
    xclip 好像就是干这个的?
    Sainnhepark
        8
    Sainnhepark  
       May 10, 2019 via Android   ❤️ 1
    看到这个贴突然想问个问题,zsh 有没有什么办法在不重新运行上一个命令的情况下,打印上一个命令的输出?
    dongin
        9
    dongin  
       May 10, 2019   ❤️ 2
    mac 下不是有 pbcopy/pbpaste 么?
    omph
        10
    omph  
       May 10, 2019   ❤️ 1
    直接用 shell 做不更方便吗?
    history -n -1 | xargs sh -c | xclip
    chunqiuyiyu
        11
    chunqiuyiyu  
    OP
       May 10, 2019
    @henryhu
    @jamesxu
    @Imr
    @InternetExplorer
    @henryhu 简单的练习项目,只是为了熟悉 TypeScript 与 Node.js 中 child_process 的使用,没想那么多。
    chunqiuyiyu
        12
    chunqiuyiyu  
    OP
       May 10, 2019
    @JackieMe
    @dongin
    @omph 内部就是调用了这些 Shell 命令。
    chunqiuyiyu
        13
    chunqiuyiyu  
    OP
       May 10, 2019
    @Sainnhepark 没有方法。
    omph
        14
    omph  
       May 10, 2019   ❤️ 1
    @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
        15
    lululau  
       May 10, 2019
    command | tee >(pbcopy or xclip)
    lululau
        16
    lululau  
       May 10, 2019
    如果只是偶尔想拷贝一下先前执行过的命令的输出的话,如果用 tmux 就不用说了,如果用 iTerm2 则可以使用 AppleScript 拿到 iTerm2 pane 的文本内容,3.3.0 好像开始支持 Python 了,但是不知道有没有这个 API
    Cabana
        17
    Cabana  
       May 10, 2019
    瞬间先到了 rm -rf ./
    Cabana
        18
    Cabana  
       May 10, 2019
    @Cabana #17 先->想
    mooncakejs
        19
    mooncakejs  
       May 10, 2019
    『重新运行命令』好可怕。
    cd logs
    rm -rf *
    ----
    cd /
    Knao
    fuzhuo233
        20
    fuzhuo233  
       May 16, 2019
    macOS 上 cat package.json | pbcopy; 粘贴回来 pbpaste > out
    cygwin 上 cat package.json > /dev/clipboard
    Linux 上我没用过貌似用 xclip 可以 cat package.json | xclip;

    macOS 一般在 vim 上按"+用加号寄存器来复制粘贴就行了…
    Kobayashi
        21
    Kobayashi  
       May 20, 2019   ❤️ 1
    @lululau iTerm2 根本不用你说的这么麻烦,直接 Cmd + Shift + a 拿到上一次输出。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2886 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 61ms · UTC 05:03 · PVG 13:03 · LAX 22:03 · JFK 01:03
    ♥ Do have faith in what you're doing.