【thefuck】超cool的终端命令自动修复工具

Hello,大家好,今天我们介绍一个超cool的终端命令自动修复工具【thefuck】。试想一下,当你在终端中输入的命令出现错误时,你不用细致思考该如何修正,大喊一声【fuck】(其实是在终端输入),命令就自动改正并正确执行,是不是超cool~

话不多说,首先放码上来:

一、概况

【thefuck】是一个超棒的应用程序,用于纠正终端命令的错误,示例如下:

更多示例:

>>> apt-get install vim

E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)

E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

>>> fuck

sudo apt-get install vim [enter/↑/↓/ctrl+c]

[sudo] password for nvbn:

Reading package lists... Done

...

>>> puthon

No command 'puthon' found, did you mean:

Command 'python' from package 'python-minimal' (main)

Command 'python' from package 'python3' (main)

zsh: command not found: puthon

>>> fuck

python [enter/↑/↓/ctrl+c]

Python 3.4.2 (default, Oct 8 2014, 13:08:17)

...

如果您不怕盲目运行更正命令,则可以禁用设置选项:require_confirmation

>>> apt-get install vim

E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)

E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

>>> fuck

sudo apt-get install vim

[sudo] password for nvbn:

Reading package lists... Done

...

二、安装

(一)安装要求

安装环境需要提前配置python(3.4+)、pip、python-dev。

(二)安装步骤

在OS X系统中,可以通过Homebrew安装【thefuck】

>>> brew install thefuck

在Ubuntu/Mint系统上,可以通过以下命令行安装【thefuck】

>>> sudo apt update

>>> sudo apt install python3-dev python3-pip python3-setuptools

>>> sudo pip3 install thefuck

在FreeBSD系统上,可以通过以下命令安装【thefuck】

>>> pkg install thefuck

在其他的系统上,可以通过pip命令安装【thefuck】

>>> pip install thefuck

安装完毕后,需要重新开启shell窗口才能生效。加入你想立即生效的话,直接执行命令

>>> source ~/.bashrc

在程序执行过程中,加入你想要不经确认而直接执行改正后的命令,可以使用如下的选项进行确认:--yeah -y --hard,例如

>>> fuck --yeah

三、工作原理

Fuck尝试将以前的命令与规则匹配。如果找到匹配项,则使用匹配的规则创建新命令并执行。默认启用以下规则:

adb_unknown_command–修复拼写错误的命令,如adb logcta;

chmod_x–添加执行位:

cat_dir–替换为当您尝试目录时:cat ls cat

......

具体详见项目主页。

四、快速模式

【thefuck】的默认行为需要时间来重新运行以前的命令。如果你想更快一点,可以启用即时模式,【thefuck】通过使用脚本记录输出,然后读取日志来节省时间。

目前,即时模式仅支持Python 3与bash或zsh。zsh的自动更正功能也需要禁用,以便运气正常工作。

要启用即时模式,请添加到别名初始化中。例如

eval $(thefuck --alias --enable-experimental-instant-mode)

目前该项目已在github获得59.3k⭐。

欢迎关注我的公众号:【FunnyGit】,每天一个有趣的程序,放码过来~

你可能感兴趣的:(【thefuck】超cool的终端命令自动修复工具)