前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >这个骚操作,我笑了一整天

这个骚操作,我笑了一整天

作者头像
somenzz
发布2021-09-14 16:54:47
3600
发布2021-09-14 16:54:47
举报
文章被收录于专栏:Python七号Python七号

这个工具非常有趣。

你在命令行窗口输入了一个命令,满怀期待的敲上了回车,结果提示你输入有误,你会不会不由自主的说一句 fuck?那就在命令行输入 fuck 吧,这个工具帮你自动纠正错误的命令。

看个动图:

这个工具就是 thefuck[1],GitHub 上有 63.7k 的星,很受欢迎。

安装

安装方法:

代码语言:javascript
复制
pip install thefuck

第一次输入 fuck 会提示你改个别名,如果不想改的话,在输入一次 fuck 就可以:

执行的时候千万不要读出来,用习惯了容易成为口头禅。😄

原理

这个工具尝试将上一个命令与规则匹配。如果找到匹配项,则使用匹配的规则创建一个新命令并执行。

比如你 cat 一个文件夹,它会自动改成 ls 文件夹:

你可以去官方仓库[2]查看默认启用的规则。

添加自定义规则

~/.config/thefuck/rules 目录下创建一个 Python 文件,比如叫 your_rules.py,文件必须包含两个函数:

代码语言:javascript
复制
match(command: Command) -> bool
get_new_command(command: Command) -> str | list[str]

其他都是可选的,比如一个 sudo 规则的代码如下:

代码语言:javascript
复制
def match(command):
    return ('permission denied' in command.output.lower()
            or 'EACCES' in command.output)


def get_new_command(command):
    return 'sudo {}'.format(command.script)

# Optional:
enabled_by_default = True

def side_effect(command, fixed_command):
    subprocess.call('chmod 777 .', shell=True)

priority = 1000  # Lower first, default is 1000

requires_output = True
设置

修改 ~/.config/thefuck/settings.py 即可。

最后的话

这个工具解决了每个人都可能会遇到的问题:输错了命令。考虑到输错了命令后很多人都会不由自由叫一声 fuck,然后把这个 fuck 变成一个实用工具,节省了程序员的宝贵时间,不得不说这个工具的作者 nvbn[3]很细心,很幽默,很风骚,是一个牛逼的 Python 开发者,大家可以 follow 他。

如果本文有帮助,不妨随手关注、点赞、再看哦,每天学点 Python 技术。

也可以留言讨论

参考资料

[1]

thefuck: https://github.com/nvbn/thefuck

[2]

官方仓库: https://github.com/nvbn/thefuck

[3]

作者 nvbn: https://github.com/nvbn

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-08-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python七号 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
  • 原理
  • 添加自定义规则
  • 设置
  • 最后的话
  • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档