The Fuck est une magnifique application, inspirée d'un tweet de @liamosaur, qui corrige les erreurs des commandes précédentes de la console.
Est-ce que The Fuck est trop lent ? Essayez le mode instantané expérimental !
Plus d'exemples :
➜ 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
...
➜ git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin master
➜ fuck
git push --set-upstream origin master [enter/↑/↓/ctrl+c]
Counting objects: 9, 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)
...
➜ git brnch
git: ' brnch ' is not a git command. See ' git --help ' .
Did you mean this ?
branch
➜ fuck
git branch [enter/↑/↓/ctrl+c]
* master
➜ lein rpl
' rpl ' is not a task. See ' lein help ' .
Did you mean this ?
repl
➜ fuck
lein repl [enter/↑/↓/ctrl+c]
nREPL server started on port 54848 on host 127.0.0.1 - nrepl://127.0.0.1:54848
REPL-y 0.3.1
...
Si vous n'avez pas peur d'exécuter aveuglément des commandes corrigées, l'option de paramètres require_confirmation
peut être désactivée :
➜ 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
...
Sur macOS ou Linux, vous pouvez installer The Fuck via Homebrew :
brew install thefuck
Sur Ubuntu/Mint, installez The Fuck avec les commandes suivantes :
sudo apt update
sudo apt install python3-dev python3-pip python3-setuptools
pip3 install thefuck --user
Sur FreeBSD, installez The Fuck avec les commandes suivantes :
pkg install thefuck
Sur ChromeOS, installez The Fuck à l'aide de chromebrew avec la commande suivante :
crew install thefuck
Sur les systèmes basés sur Arch, installez The Fuck avec la commande suivante :
sudo pacman -S thefuck
Sur d'autres systèmes, installez The Fuck en utilisant pip
:
pip install thefuck
Vous pouvez également utiliser un gestionnaire de packages de système d'exploitation (OS X, Ubuntu, Arch).
# Il est recommandé de placer cette commande dans votre .bash_profile
, .bashrc
, .zshrc
ou autre script de démarrage :
eval $( thefuck --alias )
# You can use whatever you want as an alias, like for Mondays:
eval $( thefuck --alias FUCK )
Ou dans votre configuration shell (Bash, Zsh, Fish, Powershell, tcsh).
Les modifications ne sont disponibles que dans une nouvelle session shell. Pour rendre les modifications immédiatement disponibles, exécutez source ~/.bashrc
(ou votre fichier de configuration shell comme .zshrc
).
Pour exécuter des commandes fixes sans confirmation, utilisez l'option --yeah
(ou simplement -y
pour faire court, ou --hard
si vous êtes particulièrement frustré) :
fuck --yeah
Pour corriger les commandes de manière récursive jusqu'à ce qu'elles réussissent, utilisez l'option -r
:
fuck -r
pip3 install thefuck --upgrade
Remarque : la fonctionnalité d'alias a été modifiée dans la v1.34 de The Fuck.
Pour supprimer The Fuck , inversez le processus d'installation :
The Fuck tente de faire correspondre la commande précédente avec une règle. Si une correspondance est trouvée, une nouvelle commande est créée à l'aide de la règle correspondante et exécutée. Les règles suivantes sont activées par défaut :
adb_unknown_command
– corrige les commandes mal orthographiées comme adb logcta
;ag_literal
– ajoute -Q
à ag
lorsque cela est suggéré ;aws_cli
– corrige les commandes mal orthographiées comme aws dynamdb scan
;az_cli
– corrige les commandes mal orthographiées comme az providers
;cargo
– exécute cargo build
au lieu de cargo
;cargo_no_command
– corrige les mauvaises commandes comme cargo buid
;cat_dir
– remplace cat
par ls
lorsque vous essayez de cat
un répertoire ;cd_correction
– vérifie l'orthographe et corrige les commandes cd ayant échoué ;cd_cs
– change cs
cd
;cd_mkdir
– crée des répertoires avant d'y entrer ;cd_parent
– change cd..
cd ..
;chmod_x
– ajoute un bit d'exécution ;choco_install
– ajoute les suffixes courants pour les packages chocolatés ;composer_not_command
– corrige le nom de la commande composer ;conda_mistype
– corrige les commandes conda ;cp_create_destination
– crée un nouveau répertoire lorsque vous essayez de cp
ou mv
vers un répertoire inexistantcp_omitting_directory
– ajoute -a
lorsque vous cp
répertoire ;cpp11
– ajoute -std=c++11
manquant à g++
ou clang++
;dirty_untar
– corrige la commande tar x
qui n'a pas été compressée dans le répertoire courant ;dirty_unzip
– corrige la commande unzip
décompressée dans le répertoire actuel ;django_south_ghost
– ajoute --delete-ghost-migrations
à l'échec car les fantômes migrent vers le sud de Django ;django_south_merge
– ajoute --merge
à la migration incohérente de Django South ;docker_login
– exécute une docker login
et répète la commande précédente ;docker_not_command
– corrige les mauvaises commandes docker comme docker tags
;docker_image_being_used_by_container
- supprime le conteneur qui utilise l'image avant de supprimer l'image ;dry
– corrige les répétitions comme git git push
;fab_command_not_found
– corrige les commandes de tissu mal orthographiées ;fix_alt_space
– remplace Alt+Espace par le caractère Espace ;fix_file
– ouvre un fichier avec une erreur dans votre $EDITOR
;gem_unknown_command
– corrige les mauvaises commandes gem
;git_add
– corrige "pathspec 'foo' ne correspond à aucun fichier connu de git." ;git_add_force
– ajoute --force
à git add <pathspec>...
lorsque les chemins sont .gitignore'd ;git_bisect_usage
– corrige git bisect strt
, git bisect goood
, git bisect rset
, etc. lors de la coupe en deux ;git_branch_delete
– change git branch -d
en git branch -D
;git_branch_delete_checked_out
– change git branch -d
en git checkout master && git branch -D
lorsque vous essayez de supprimer une branche extraite ;git_branch_exists
– propose git branch -d foo
, git branch -D foo
ou git checkout foo
lors de la création d'une branche qui existe déjà ;git_branch_list
– capture git branch list
à la place de git branch
et supprime la branche créée ;git_branch_0flag
– corrige des commandes telles que git branch 0v
et git branch 0r
en supprimant la branche créée ;git_checkout
– corrige le nom de la branche ou crée une nouvelle branche ;git_clone_git_clone
– remplace git clone git clone ...
par git clone ...
git_clone_missing
– ajoute git clone
aux URL qui semblent être liées à un référentiel git.git_commit_add
– propose git commit -a ...
ou git commit -p ...
après la validation précédente si elle a échoué car rien n'a été mis en scène ;git_commit_amend
– propose git commit --amend
après le commit précédent ;git_commit_reset
– propose git reset HEAD~
après la validation précédente ;git_diff_no_index
– ajoute --no-index
au git diff
précédent sur les fichiers non suivis ;git_diff_staged
– ajoute --staged
au git diff
précédent avec une sortie inattendue ;git_fix_stash
– corrige les commandes git stash
(sous-commande mal orthographiée et save
manquante) ;git_flag_after_filename
– correction fatal: bad flag '...' after filename
git_help_aliased
– corrige les commandes git help <alias>
en les remplaçant par la commande alias ;git_hook_bypass
– ajoute l'indicateur --no-verify
avant la commande git am
, git commit
ou git push
;git_lfs_mistype
– corrige les commandes git lfs <command>
mal saisies ;git_main_master
– corrige le nom de branche incorrect entre main
et master
git_merge
– ajoute une télécommande aux noms de branches ;git_merge_unrelated
– ajoute --allow-unrelated-histories
si nécessairegit_not_command
– corrige les mauvaises commandes git comme git brnch
;git_pull
– définit en amont avant d'exécuter git pull
précédent ;git_pull_clone
– clone au lieu de tirer lorsque le dépôt n'existe pas ;git_pull_uncommitted_changes
– cache les modifications avant de les extraire et les affiche ensuite ;git_push
– ajoute --set-upstream origin $branch
au précédent git push
ayant échoué ;git_push_different_branch_names
– corrige les push lorsque le nom de la branche locale ne correspond pas au nom de la branche distante ;git_push_pull
– exécute git pull
lorsque push
a été rejeté ;git_push_without_commits
– crée un commit initial si vous oubliez et uniquement git add .
, lors du montage d'un nouveau projet ;git_rebase_no_changes
– exécute git rebase --skip
au lieu de git rebase --continue
lorsqu'il n'y a aucun changement ;git_remote_delete
– remplace git remote delete remote_name
par git remote remove remote_name
;git_rm_local_modifications
– ajoute -f
ou --cached
lorsque vous essayez de rm
un fichier modifié localement ;git_rm_recursive
– ajoute -r
lorsque vous essayez de rm
un répertoire ;git_rm_staged
– ajoute -f
ou --cached
lorsque vous essayez de rm
un fichier avec des modifications par étapesgit_rebase_merge_dir
– propose git rebase (--continue | --abort | --skip)
ou supprime le répertoire .git/rebase-merge
lorsqu'un rebase est en cours ;git_remote_seturl_add
– exécute git remote add
lorsque git remote set_url
sur une télécommande inexistante ;git_stash
– stocke vos modifications locales avant de rebaser ou de changer de branche ;git_stash_pop
– ajoute vos modifications locales avant d'ouvrir le cache, puis se réinitialise ;git_tag_force
– ajoute --force
à git tag <tagname>
lorsque la balise existe déjà ;git_two_dashes
– ajoute un tiret manquant aux commandes comme git commit -amend
ou git rebase -continue
;go_run
– ajoute l'extension .go
lors de la compilation/exécution de programmes Go ;go_unknown_command
– corrige les mauvaises commandes go
, par exemple go bulid
;gradle_no_task
– correctifs introuvables ou tâche gradle
ambiguë ;gradle_wrapper
– remplace gradle
par ./gradlew
;grep_arguments_order
– corrige l'ordre des arguments grep
pour des situations comme grep -lir . test
;grep_recursive
– ajoute -r
lorsque vous essayez d'accéder au répertoire grep
;grunt_task_not_found
– corrige les commandes grunt
mal orthographiées ;gulp_not_task
– corrige les tâches gulp
mal orthographiées ;has_exists_script
– ajoute ./
lorsque le script/binaire existe ;heroku_multiple_apps
– ajoute --app <app>
aux commandes heroku
comme heroku pg
;heroku_not_command
– corrige les mauvaises commandes heroku
comme heroku log
;history
– essaie de remplacer la commande par la commande la plus similaire de l'historique ;hostscli
– essaie de corriger l'utilisation hostscli
;ifconfig_device_not_found
– corrige les mauvais noms de périphériques comme wlan0
à wlp2s0
;java
– supprime l'extension .java
lors de l'exécution de programmes Java ;javac
– ajoute .java
manquant lors de la compilation des fichiers Java ;lein_not_task
– corrige les mauvaises tâches lein
comme lein rpl
;long_form_help
– remplace -h
par --help
lorsque la version courte n'est pas prise en chargeln_no_hard_link
– détecte la création de liens physiques sur les répertoires, suggère un lien symbolique ;ln_s_order
– corrige l'ordre des arguments ln -s
;ls_all
– ajoute -A
à ls
lorsque la sortie est vide ;ls_lah
– ajoute -lah
à ls
;man
– change la section du manuel ;man_no_space
– corrige les commandes man sans espaces, par exemple mandiff
;mercurial
– corrige les mauvaises commandes hg
;missing_space_before_subcommand
– corrige la commande avec de l'espace manquant comme npminstall
;mkdir_p
– ajoute -p
lorsque vous essayez de créer un répertoire sans parent ;mvn_no_command
– ajoute clean package
à mvn
;mvn_unknown_lifecycle_phase
– corrige les phases du cycle de vie mal orthographiées avec mvn
;npm_missing_script
– corrige le nom du script personnalisé npm
dans npm run-script <script>
;npm_run_script
– ajoute run-script
manquant pour les scripts npm
personnalisés ;npm_wrong_command
– corrige les mauvaises commandes npm comme npm urgrade
;no_command
– corrige les mauvaises commandes de console, par exemple vom/vim
;no_such_file
– crée les répertoires manquants avec les commandes mv
et cp
;omnienv_no_such_command
– corrige les mauvaises commandes pour goenv
, nodenv
, pyenv
et rbenv
(par exemple : pyenv isntall
ou goenv list
) ;open
– soit ajoute http://
à l'adresse transmise pour open
, soit crée un nouveau fichier ou répertoire et le transmet à open
;pip_install
– corrige les problèmes d'autorisation avec les commandes pip install
en ajoutant --user
ou en préfixant sudo
si nécessaire ;pip_unknown_command
– corrige les mauvaises commandes pip
, par exemple pip instatl/pip install
;php_s
– remplace -s
par -S
lorsque vous essayez d'exécuter un serveur php local ;port_already_in_use
– tue le processus qui lié au port ;prove_recursively
– ajoute -r
lorsqu'il est appelé avec le répertoire ;python_command
– ajoute python
lorsque vous essayez d'exécuter un script non exécutable/sans ./
python ;python_execute
– ajoute .py
manquant lors de l'exécution des fichiers Python ;python_module_error
– corrige ModuleNotFoundError en essayant d' pip install
;quotation_marks
– corrige l'utilisation inégale de '
et "
lorsqu'ils contiennent des arguments' ;path_from_history
– remplace le chemin introuvable par un chemin absolu similaire de l'historique ;rails_migrations_pending
– exécute les migrations en attente ;react_native_command_unrecognized
– corrige les commandes react-native
non reconnues ;remove_shell_prompt_literal
– supprime le premier symbole d'invite du shell $
, courant lors de la copie de commandes à partir de documentations ;remove_trailing_cedilla
– supprime les cédilles de fin ç
, une faute de frappe courante pour les dispositions de clavier européennes ;rm_dir
– ajoute -rf
lorsque vous essayez de supprimer un répertoire ;scm_correction
– corrige les mauvais scm comme hg log
en git log
;sed_unterminated_s
– ajoute le « / » manquant aux commandes s
de sed
;sl_ls
– change sl
en ls
;ssh_known_hosts
– supprime l'hôte de known_hosts
en cas d'avertissement ;sudo
– ajoute sudo
à la commande précédente si elle a échoué en raison des autorisations ;sudo_command_from_user_path
– exécute les commandes des utilisateurs $PATH
avec sudo
;switch_lang
– fait passer la commande de votre disposition locale à en ;systemctl
– ordonne correctement les paramètres de systemctl
déroutants ;terraform_init.py
– exécute terraform init
avant de planifier ou d'appliquer ;terraform_no_command.py
– corrige les commandes terraform
non reconnues ;test.py
– exécute pytest
au lieu de test.py
;touch
– crée les répertoires manquants avant de « toucher » ;tsuru_login
– exécute tsuru login
s'il n'est pas authentifié ou si la session a expiré ;tsuru_not_command
– corrige les mauvaises commandes tsuru
comme tsuru shell
;tmux
– corrige les commandes tmux
;unknown_command
– corrige la "commande inconnue" de style hadoop hdfs, par exemple ajoute le "-" manquant à la commande sur hdfs dfs ls
;unsudo
– supprime sudo
de la commande précédente si un processus refuse de s'exécuter avec les privilèges de superutilisateur.vagrant_up
– démarre l'instance vagrant ;whois
– corrige la commande whois
;workon_doesnt_exists
– corrige le nom d'environnement virtualenvwrapper
qui suggère d'en créer un nouveau.wrong_hyphen_before_subcommand
– supprime un trait d'union mal placé ( apt-install
-> apt install
, git-log
-> git log
, etc.)yarn_alias
– corrige les commandes yarn
alias comme yarn ls
;yarn_command_not_found
– corrige les commandes yarn
mal orthographiées ;yarn_command_replaced
– corrige les commandes yarn
remplacées ;yarn_help
– facilite l'ouverture de la documentation yarn
; Les règles suivantes sont activées par défaut sur des plateformes spécifiques uniquement :
apt_get
– installe l'application à partir d'apt si elle n'est pas installée (nécessite python-commandnotfound
/ python3-commandnotfound
) ;apt_get_search
– changements en essayant de rechercher à l'aide d' apt-get
avec une recherche à l'aide d' apt-cache
;apt_invalid_operation
– corrige les appels apt
et apt-get
invalides, comme apt-get isntall vim
;apt_list_upgradable
– vous aide à exécuter apt list --upgradable
après apt update
;apt_upgrade
– vous aide à exécuter apt upgrade
après apt list --upgradable
;brew_cask_dependency
– installe les dépendances du cask ;brew_install
– corrige le nom de la formule pour brew install
;brew_reinstall
– transforme brew install <formula>
en brew reinstall <formula>
;brew_link
– ajoute --overwrite --dry-run
si la liaison échoue ;brew_uninstall
– ajoute --force
à brew uninstall
si plusieurs versions ont été installées ;brew_unknown_command
– corrige les mauvaises commandes de brassage, par exemple brew docto/brew doctor
;brew_update_formula
– transforme brew update <formula>
en brew upgrade <formula>
;dnf_no_such_command
– corrige les commandes DNF mal saisies ;nixos_cmd_not_found
– installe des applications sur NixOS ;pacman
– installe l'application avec pacman
si elle n'est pas installée (utilise yay
, pikaur
ou yaourt
si disponible) ;pacman_invalid_option
– remplace les options pacman
minuscules par des majuscules.pacman_not_found
– corrige le nom du package avec pacman
, yay
, pikaur
ou yaourt
.yum_invalid_operation
– corrige les appels yum
invalides, comme yum isntall vim
;Les commandes suivantes sont fournies avec The Fuck , mais ne sont pas activées par défaut :
git_push_force
– ajoute --force-with-lease
à un git push
(peut entrer en conflit avec git_push_pull
) ;rm_root
– ajoute --no-preserve-root
à rm -rf /
command. Pour ajouter votre propre règle, créez un fichier nommé your-rule-name.py
dans ~/.config/thefuck/rules
. Le fichier de règles doit contenir deux fonctions :
match ( command : Command ) - > bool
get_new_command ( command : Command ) - > str | list [ str ]
De plus, les règles peuvent contenir des fonctions facultatives :
side_effect ( old_command : Command , fixed_command : str ) - > None
Les règles peuvent également contenir les variables facultatives enabled_by_default
, requires_output
et priority
.
Command
a trois attributs : script
, output
et script_parts
. Votre règle ne devrait pas changer Command
.
API de règles modifiée dans la version 3.0 : pour accéder aux paramètres d'une règle, importez-la avec from thefuck.conf import settings
settings
est un objet spécial assemblé à partir de ~/.config/thefuck/settings.py
et des valeurs de env (voir plus ci-dessous).
Un exemple simple de règle pour exécuter un script avec 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
Plus d'exemples de règles, de fonctions utilitaires pour les règles, d'aides spécifiques à l'application/au système d'exploitation.
Plusieurs paramètres de The Fuck peuvent être modifiés dans le fichier $XDG_CONFIG_HOME/thefuck/settings.py
( $XDG_CONFIG_HOME
par défaut est ~/.config
) :
rules
– liste des règles activées, par défaut thefuck.const.DEFAULT_RULES
;exclude_rules
– liste des règles désactivées, par défaut []
;require_confirmation
– nécessite une confirmation avant d'exécuter une nouvelle commande, par défaut True
;wait_command
– le temps maximum en secondes pour obtenir le résultat de la commande précédente ;no_colors
– désactive la sortie colorée ;priority
– dict avec les priorités des règles, la règle avec priority
inférieure sera mise en correspondance en premier ;debug
– active la sortie de débogage, par défaut False
;history_limit
– la valeur numérique du nombre de commandes d'historique qui seront analysées, comme 2000
;alter_history
– pousser la commande fixe vers l'historique, par défaut True
;wait_slow_command
– durée maximale en secondes pour obtenir la sortie de la commande précédente si elle figure dans la liste slow_commands
;slow_commands
– liste des commandes lentes ;num_close_matches
– le nombre maximum de correspondances proches à suggérer, par défaut 3
.excluded_search_path_prefixes
– préfixes de chemin à ignorer lors de la recherche de commandes, par défaut []
. Un exemple de settings.py
:
rules = [ 'sudo' , 'no_command' ]
exclude_rules = [ 'git_push' ]
require_confirmation = True
wait_command = 10
no_colors = False
priority = { 'sudo' : 100 , 'no_command' : 9999 }
debug = False
history_limit = 9999
wait_slow_command = 20
slow_commands = [ 'react-native' , 'gradle' ]
num_close_matches = 5
Ou via des variables d'environnement :
THEFUCK_RULES
– liste des règles activées, comme DEFAULT_RULES:rm_root
ou sudo:no_command
;THEFUCK_EXCLUDE_RULES
– liste des règles désactivées, comme git_pull:git_push
;THEFUCK_REQUIRE_CONFIRMATION
– nécessite une confirmation avant d'exécuter une nouvelle commande, true/false
;THEFUCK_WAIT_COMMAND
– le temps maximum en secondes pour obtenir le résultat de la commande précédente ;THEFUCK_NO_COLORS
– désactiver la sortie colorée, true/false
;THEFUCK_PRIORITY
– priorité des règles, comme no_command=9999:apt_get=100
, la règle avec priority
inférieure sera mise en correspondance en premier ;THEFUCK_DEBUG
– active la sortie de débogage, true/false
;THEFUCK_HISTORY_LIMIT
– combien de commandes d'historique seront analysées, comme 2000
;THEFUCK_ALTER_HISTORY
– pousser la commande fixe vers l'historique true/false
;THEFUCK_WAIT_SLOW_COMMAND
– le temps maximum en secondes pour obtenir la sortie de la commande précédente si elle figure dans la liste slow_commands
;THEFUCK_SLOW_COMMANDS
– liste de commandes lentes, comme lein:gradle
;THEFUCK_NUM_CLOSE_MATCHES
– le nombre maximum de correspondances proches à suggérer, par exemple 5
.THEFUCK_EXCLUDED_SEARCH_PATH_PREFIXES
– préfixes de chemin à ignorer lors de la recherche de commandes, par défaut []
.Par exemple:
export THEFUCK_RULES= ' sudo:no_command '
export THEFUCK_EXCLUDE_RULES= ' git_pull:git_push '
export THEFUCK_REQUIRE_CONFIRMATION= ' true '
export THEFUCK_WAIT_COMMAND=10
export THEFUCK_NO_COLORS= ' false '
export THEFUCK_PRIORITY= ' no_command=9999:apt_get=100 '
export THEFUCK_HISTORY_LIMIT= ' 2000 '
export THEFUCK_NUM_CLOSE_MATCHES= ' 5 '
Si vous souhaitez créer un ensemble spécifique de règles non publiques, tout en souhaitant les partager avec d'autres, créez un package nommé thefuck_contrib_*
avec la structure suivante :
thefuck_contrib_foo
thefuck_contrib_foo
rules
__init__.py
*third-party rules*
__init__.py
*third-party-utils*
setup.py
The Fuck trouvera des règles situées dans le module rules
.
Le comportement par défaut de The Fuck nécessite du temps pour réexécuter les commandes précédentes. En mode instantané, The Fuck gagne du temps en enregistrant la sortie avec un script, puis en lisant le journal.
Actuellement, le mode instantané ne prend en charge que Python 3 avec bash ou zsh. La fonction de correction automatique de zsh doit également être désactivée pour que thefuck fonctionne correctement.
Pour activer le mode instantané, ajoutez --enable-experimental-instant-mode
à l'initialisation de l'alias dans .bashrc
, .bash_profile
ou .zshrc
.
Par exemple:
eval $( thefuck --alias --enable-experimental-instant-mode )
Voir CONTRIBUTION.md
La licence de projet peut être trouvée ici.