Hello,大家好,今天我們介紹一個(gè)超cool的終端命令自動(dòng)修復(fù)工具【thefuck】。試想一下,當(dāng)你在終端中輸入的命令出現(xiàn)錯(cuò)誤時(shí),你不用細(xì)致思考該如何修正,大喊一聲【fuck】(其實(shí)是在終端輸入),命令就自動(dòng)改正并正確執(zhí)行,是不是超cool~
話不多說,首先放碼上來:
一、概況
【thefuck】是一個(gè)超棒的應(yīng)用程序,用于糾正終端命令的錯(cuò)誤,示例如下:

更多示例:
>>> 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)
...
如果您不怕盲目運(yùn)行更正命令,則可以禁用設(shè)置選項(xiàng):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
...
二、安裝
(一)安裝要求
安裝環(huán)境需要提前配置python(3.4+)、pip、python-dev。
(二)安裝步驟
在OS X系統(tǒng)中,可以通過Homebrew安裝【thefuck】
>>> brew install thefuck
在Ubuntu/Mint系統(tǒng)上,可以通過以下命令行安裝【thefuck】
>>> sudo apt update
>>> sudo apt install python3-dev python3-pip python3-setuptools
>>> sudo pip3 install thefuck
在FreeBSD系統(tǒng)上,可以通過以下命令安裝【thefuck】
>>> pkg install thefuck
在其他的系統(tǒng)上,可以通過pip命令安裝【thefuck】
>>> pip install thefuck
安裝完畢后,需要重新開啟shell窗口才能生效。加入你想立即生效的話,直接執(zhí)行命令
>>> source ~/.bashrc
在程序執(zhí)行過程中,加入你想要不經(jīng)確認(rèn)而直接執(zhí)行改正后的命令,可以使用如下的選項(xiàng)進(jìn)行確認(rèn):--yeah -y --hard,例如
>>> fuck --yeah
三、工作原理
Fuck嘗試將以前的命令與規(guī)則匹配。如果找到匹配項(xiàng),則使用匹配的規(guī)則創(chuàng)建新命令并執(zhí)行。默認(rèn)啟用以下規(guī)則:
adb_unknown_command–修復(fù)拼寫錯(cuò)誤的命令,如adb logcta;
chmod_x–添加執(zhí)行位:
cat_dir–替換為當(dāng)您嘗試目錄時(shí):cat ls cat
......
具體詳見項(xiàng)目主頁。
四、快速模式
【thefuck】的默認(rèn)行為需要時(shí)間來重新運(yùn)行以前的命令。如果你想更快一點(diǎn),可以啟用即時(shí)模式,【thefuck】通過使用腳本記錄輸出,然后讀取日志來節(jié)省時(shí)間。

目前,即時(shí)模式僅支持Python 3與bash或zsh。zsh的自動(dòng)更正功能也需要禁用,以便運(yùn)氣正常工作。
要啟用即時(shí)模式,請(qǐng)?zhí)砑拥絼e名初始化中。例如
eval $(thefuck --alias --enable-experimental-instant-mode)
目前該項(xiàng)目已在github獲得59.3k?。
歡迎關(guān)注我的公眾號(hào):【FunnyGit】,每天一個(gè)有趣的程序,放碼過來~