V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
PPing520
V2EX  ›  分享创造

一个小工具:为你需要谨慎操作的命令增加一步 Are you sure?

  •  
  •   PPing520 · 2022-01-06 10:03:19 +08:00 · 3280 次点击
    这是一个创建于 1057 天前的主题,其中的信息可能已经有所发展或是发生改变。

    项目地址: https://github.com/xuzhongping/rusure

    开发工作中经常使用终端来进行各种命令操作,久而久之对某些再熟悉不过的操作已经养成了肌肉的记忆(别问我发生了什么 🙄)为了防止某些相对不安全的命令被错误的输入并执行(原命令并没有增加确认功能时),我写了一个小工具来为你的命令增加一步确认功能,目前仅支持 zsh ,后续应该会开放更多环境的支持。

    • 如果有小伙伴对这个感兴趣,或者觉得目前的实现不太合理,欢迎改进👏。
    第 1 条附言  ·  2022-01-06 11:34:04 +08:00
    其实我的本意是:误操作一个命令,是将一个 A 命令输成了 B 命令,它们之间很像,而 B 命令一般很少执行,当遇到 Are you sure 的提示时,就应该意识到你输入了一个自认为危险的命令,而不能把这个提示当成一个日常经常遇到的输入导致的。
    第 2 条附言  ·  2022-01-06 11:45:24 +08:00

    感觉上一句说的不太好,我重新说一下:

    如果有一个命令A,这个A是被配置在需要提示的名单下,有两种情况:

    1. 当你是真的需要使用这个命令时,遇到提示了,这种提示其实是你自己 [已经预知] 的。
    2. 当你实际上你是要执行命令B,只是和A命令很像,不小心输错了,这时候却提示了,此时的提示是你 [没有预知] 的,这时候一般情况是要取消的。

    实际上这个工具,我的本意是应对第2种情况。

    第 3 条附言  ·  2022-01-06 14:19:30 +08:00
    但是对于第一种情况:本意就是执行一个受保护的命令,多让你确认一步。
    我想也是可以支持这样的想法的,这样老哥们建议的随机字符串是个好办法,我考虑在配置中增加这个设置:你可以选择固定的 YN 风格,也可以选择一个随机字符串风格(比如随机三个字符),谢谢诸位😬
    22 条回复    2022-01-12 17:47:58 +08:00
    sander
        1
    sander  
       2022-01-06 10:05:16 +08:00   ❤️ 1
    我看到了一个悲伤的故事
    kidding
        2
    kidding  
       2022-01-06 10:05:27 +08:00 via Android   ❤️ 3
    用习惯了还是会无脑 Y ,建议加个验证码(
    starsky007
        3
    starsky007  
       2022-01-06 10:23:44 +08:00 via Android
    @kidding 可以改成输入其他文字,与平时使用的 Y/N 区别,提醒使用者注意,比如可以输入数字 78 (键位方便点)。
    x86
        4
    x86  
       2022-01-06 10:26:20 +08:00
    不如改成 are you ok ? 输入 okokok / nonono
    mcfog
        5
    mcfog  
       2022-01-06 11:04:18 +08:00
    @kidding 输入验证码效率好低,不如再做个自动输入验证码的工具(
    madNeal
        6
    madNeal  
       2022-01-06 11:06:13 +08:00
    感觉可以用一个随机字母来确认,这样避免肌肉记忆
    PPing520
        7
    PPing520  
    OP
       2022-01-06 11:13:40 +08:00
    @kidding 哈哈,太秀了,目前只支持配置文件自定义文案,,可以把提示文案改的显眼点😂。后面我考虑加个自定义 Y/N 输入
    maplerecall
        8
    maplerecall  
       2022-01-06 11:15:17 +08:00 via Android
    @madNeal 一个随机字母不够的,这个输入屏幕上显示的一个或者多个字符的行为照样能被训练为高级条件反射…
    yfugibr
        9
    yfugibr  
       2022-01-06 11:18:18 +08:00 via Android
    发生了什么
    334132462
        10
    334132462  
       2022-01-06 11:19:15 +08:00
    忽然想起了曾经有一款小工具 f 开头的 当你忘记加 sudo 时 输入 f 开头的单词 然后帮你重新运行上一个命令并且带上 sudo
    littleylv
        11
    littleylv  
       2022-01-06 11:23:20 +08:00
    @334132462 #10 https://github.com/nvbn/thefuck 这个
    不止是加 sudo 。理论上所有的命令行报错都可以 f*ck ,包括 typo

    比如:
    ~ puthon
    zsh: command not found: puthon
    ~ fuck
    IvanLi127
        12
    IvanLi127  
       2022-01-06 11:52:40 +08:00   ❤️ 1
    快进到 手指口述
    elevioux
        13
    elevioux  
       2022-01-06 11:57:57 +08:00
    直接 YES ,看都不看

    😂
    ragnaroks
        14
    ragnaroks  
       2022-01-06 12:33:57 +08:00   ❤️ 1
    可以随机 3 个连续的键位字母,qwert 键盘本身是错位的,刚好达到需要仔细看的需求
    yolee599
        15
    yolee599  
       2022-01-06 13:25:15 +08:00 via Android
    可以随机一个字符串,重复输入字符串来确认
    2i2Re2PLMaDnghL
        16
    2i2Re2PLMaDnghL  
       2022-01-06 13:27:38 +08:00   ❤️ 1
    随时记住一点,当你的安全带无法覆盖到所有机器的时候,不应该习惯安全带
    多备份,3-2-1 原则。
    vophan1ee
        17
    vophan1ee  
       2022-01-07 14:19:58 +08:00
    ReadMe 显示有点小问题
    vophan1ee
        18
    vophan1ee  
       2022-01-07 14:20:50 +08:00
    图片 URL base64: aHR0cHM6Ly9pLmJtcC5vdmgvaW1ncy8yMDIyLzAxLzIwMjc2OWE4NmYwYThlMWYucG5n
    PPing520
        19
    PPing520  
    OP
       2022-01-07 17:21:11 +08:00
    @vophan1ee 感谢
    SpiderXiantang
        20
    SpiderXiantang  
       2022-01-07 17:55:35 +08:00
    正则匹配命令吧 不然只有指定命令不大行
    PPing520
        21
    PPing520  
    OP
       2022-01-07 18:34:20 +08:00
    @SpiderXiantang 这个我一开始想过,但是后来想了想没啥太大需求性,实现倒是不难,哈哈,你觉得如果你使用的话,会有这个需求么
    HAL9000
        22
    HAL9000  
       2022-01-12 17:47:58 +08:00
    YES, DO AS I SAY
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3625 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 84ms · UTC 00:50 · PVG 08:50 · LAX 16:50 · JFK 19:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.