记一个搞笑且牛逼轰轰的可以纠正控制台命令的 thefuck

第一次看见这个名字,也是醉了,真是直白啊,赤裸裸的写出了由于拼写错误而执行失败的命令的心声。闲来试用了一下,感觉还是很不错的。

所需环境

python (3.4+)
pip
python-dev

安装

支持多平台多种安装方式, 可以自由选择

  • OS/Linuxbrew 可以依赖 Homebrew/Linuxbrew
    brew install thefuck

  • Ubuntu / Mint
    sudo apt update
    sudo apt install python3-dev python3-pip python3-setuptools
    sudo pip3 install thefuck

  • FreeBSD
    pkg install thefuck

  • ChromeOS
    crew install thefuck

  • 其他系统,就要靠我热爱的python环境了,pip
    pip install thefuck

环境配置

安装完之后,需要下一步配置,如果直接执行fuck命令,会有以下提示,跟着提示做就好了。
在这里插入图片描述

需要将以下命令,放入 .bash_profile, .bashrc, .zshrc 或者你指定的启动脚本中。

eval $(thefuck --alias)
# 如果你想起一个别名的话,也可以,比如 
eval $(thefuck --alias love)   此时 fuck和love 都可以执行

在这里插入图片描述

使用

通过上面的例子,估计你也看明白了,简单的步骤如下
1、(啊~~)控制台命令输错了
2、(莫慌)输入 fuck
3、如果提示的命令是你想要的正确命令,则按 enter确定,还可以通过 上下箭头来选择你想要的命令,或通过 Ctrl+C 放弃所有选择
4、happy ending

ps:如果你想到信任func, 那就加参数呀
fuck -y 或者 fuck --yeah 或者 fuck --yes 代表直接相信他的正确判断
在这里插入图片描述
鉴于有多种选择,那可以加 -r ,可以递归修复命令,直至选中一条可以成功执行的命令
在这里插入图片描述

纠错规则

大部分的 git 、brew、yum、apt 、pip 还有一些常用的 linux 命令都支持

具体的请参考官方:https://github.com/nvbn/thefuck

高级用法之 创建自己的规则

在~/.config/thefuck/rules 下创建规则文件 your-rule-name.py
比如:
我自定义了一个 hello 的命令,输错了怎么办呢
在这里插入图片描述
在这里插入图片描述
我在~/.config/thefuck/rules下创建了一个hello.py文件,文件内容如下:

def match(command):
    return 'command not found: hell' in command.output.lower()

def get_new_command(command):
    return 'hello'

解答:
该文件必须包括两个function
match(command: Command) -> bool  用来判断错误的命令是否命中该文件
get_new_command(command: Command) -> str | list[str]  用来修正命令,并返回正确的命令或命令列表

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章