这个骚操作,我笑了一整天
共 1709字,需浏览 4分钟
·
2021-09-03 23:09
这个工具非常有趣。
你在命令行窗口输入了一个命令,满怀期待的敲上了回车,结果提示你输入有误,你会不会不由自主的说一句 fuck?那就在命令行输入 fuck 吧,这个工具帮你自动纠正错误的命令。
看个动图:
这个工具就是 thefuck[1],GitHub 上有 63.7k 的星,很受欢迎。
安装
安装方法:
pip install thefuck
第一次输入 fuck 会提示你改个别名,如果不想改的话,在输入一次 fuck 就可以:
执行的时候千万不要读出来,用习惯了容易成为口头禅。😄
原理
这个工具尝试将上一个命令与规则匹配。如果找到匹配项,则使用匹配的规则创建一个新命令并执行。
比如你 cat 一个文件夹,它会自动改成 ls 文件夹:
你可以去官方仓库[2]查看默认启用的规则。
添加自定义规则
在 ~/.config/thefuck/rules
目录下创建一个 Python 文件,比如叫 your_rules.py,文件必须包含两个函数:
match(command: Command) -> bool
get_new_command(command: Command) -> str | list[str]
其他都是可选的,比如一个 sudo 规则的代码如下:
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 技术。
也可以留言讨论。
参考资料
thefuck: https://github.com/nvbn/thefuck
[2]官方仓库: https://github.com/nvbn/thefuck
[3]作者 nvbn: https://github.com/nvbn