Как использовать функцию «Вы имели в виду» в ubuntu?

5

Если я ошибаюсь в команде Ubuntu, она предлагает предложение. Часто предложение правильное, и я хочу его использовать. Но нет никакого способа, кроме как повторить последнюю команду и внести изменения самостоятельно. Почему он не предлагает предложение типа «да / нет», где вы можете просто ввести y, чтобы принять предложение? Любые предложения, позволяющие такое поведение?

Вот что происходит:

[email protected]:/media/tux$ git stastus
git: 'stastus' is not a git command. See 'git --help'.

Did you mean this?
    status
[email protected]:/media/tux$
    
задан elexhobby 14.10.2013 в 18:35
источник

3 ответа

5

Предложение в вашем примере не предоставляется оболочкой Ubuntu , а скорее является частью help.autocorrect , встроенной в Git.

В прошлом году было обсуждение добавления интерактивного предложения "да / нет" Git, но некоторые детали не были решены, так что работа еще неполна.

Если вы ищете что-то подобное для любой команды, вы можете попробовать с использованием Z-оболочки (zsh) вместо Bash . Он предлагает исправление орфографии общего назначения для обеих команд и имен файлов и предоставляет интерактивное приглашение:

$ ehco hello > test.txt
zsh: correct 'ehco' to 'echo' [nyae]? y
$ cat tesst.txt
zsh: correct 'tesst.txt' to 'test.txt' [nyae]? y
hello

Изменение оболочек - это не что-то, что можно сделать легкомысленно. Используя любую оболочку, отличную от используемой по умолчанию, вы, вероятно, ударите несколько дорожных ударов, которые потребуют времени и усилий для решения.

    
ответ дан ændrük 14.10.2013 в 20:50
источник
1

Большинство оболочек Linux позволяют вам использовать клавишу со стрелкой вверх для прокрутки списка команд, которые вы недавно набрали, затем вы можете отредактировать его, прежде чем нажимать Enter, чтобы запустить измененную строку.

Для Ubuntu оболочка терминала по умолчанию - Bash, которая поддерживает это очень эффективно.

    
ответ дан Raceimaztion 14.10.2013 в 19:09
0

Кажется, это что-то дается самой командой git:

[email protected]:~$ git stastus
git: 'stastus' is not a git command. See 'git --help'.

Did you mean this?
    status
[email protected]:~$ svn stastus
Unknown command: 'stastus'
Type 'svn help' for usage.

Хотя, по умолчанию Ubuntu устанавливает command-not-found . Он дает рекомендации для пропущенных или удаленных команд:

[email protected]:~$ foo
No command 'foo' found, did you mean:
 Command 'zoo' from package 'zoo' (universe)
 Command 'goo' from package 'goo' (universe)
 Command 'xoo' from package 'xoo' (universe)
 Command 'fio' from package 'fio' (universe)
 Command 'fop' from package 'fop' (main)
 Command 'fgo' from package 'fgo' (universe)
 Command 'fox' from package 'objcryst-fox' (universe)
 Command 'fog' from package 'ruby-fog' (universe)
foo: command not found
    
ответ дан andrewsomething 14.10.2013 в 19:23