Как включить предложение, если команда не нашла (“Вы имели в виду …” функция) в оболочке “удара”?

Подобный этому вопросу: Как я удаляю, "Вы имели в виду..." функцию в оболочке?

При вводе с опечатками команды Вы получаете что-то как:

root@pc:~# sido
No command 'sido' found, did you mean:
 Command 'sudo' from package 'sudo' (main)
 Command 'sudo' from package 'sudo-ldap' (universe)
sido: command not found
root@pc:~# 

Существует ли плагин оболочки для Linux или человечности, которая рекомендует первое предположение, и я просто должен нажать Enter?

Таким образом, это должно быть похожим:

root@pc:~# sido
No command 'sido' found, did you mean:
 Command 'sudo' from package 'sudo' (main)
 Command 'sudo' from package 'sudo-ldap' (universe)
sido: command not found
Did you mean 'sudo' [Y/n]?

Таким образом, я просто должен нажать Enter, и команда sudo выполняется вместо sido.

15
задан 13 April 2017 в 05:24

2 ответа

Если Вы готовы переключить оболочки, zsh предложения это без плагинов:

$ setopt correct 
$ sido -i
zsh: correct 'sido' to 'sudo' [nyae]? 
y
[sudo] password for muru: 

От эти документы :

CORRECT включает исправление орфографических ошибок для команд, и CORRECTALL, опция включает исправление орфографических ошибок для всех аргументов.

% setopt correct
% sl
zsh: correct `sl' to `ls' [nyae]? y
% setopt correctall
% ls x.v11r4
zsh: correct `x.v11r4' to `X.V11R4' [nyae]? n
/usr/princton/src/x.v11r4 not found
% ls /etc/paswd
zsh: correct to `/etc/paswd' to `/etc/passwd' [nyae]? y
/etc/passwd

, Если Вы нажимаете y, когда оболочка спрашивает Вас, если Вы хотите исправить слово, оно будет исправлено. Если Вы нажмете n, он будет оставлен в покое. Нажатие a аварийные прекращения работы, команда и нажатие e проводят линию для редактирования снова, в случае, если Вы согласовываете слово, записаны неправильно, но Вам не нравится исправление.

14
ответ дан 23 November 2019 в 02:41

Если zsh не является опцией, смотрите на thefuck

, с которым Он может быть установлен:

sudo pip install thefuck

Один из примеров в readme почти точно, что Вы запрашиваете:

➜ 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
Python 3.4.2 (default, Oct  8 2014, 13:08:17)
...

Это также делает некоторый другой удобный материал как:

➜ 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
...

или

➜ 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
Counting objects: 9, done.
...
22
ответ дан 23 November 2019 в 02:41

Другие вопросы по тегам:

Похожие вопросы: