Как использовать функцию "ты имел в виду" в Ubuntu?
Если я неправильно наберу команду в оболочке Ubuntu, она предложит подсказку. Часто предложение верно, и я хочу его использовать. Но нет другого способа, кроме как повторить последнюю команду и внести изменения самостоятельно. Почему он не предлагает предложение типа да / нет, где вы можете просто ввести y, чтобы принять предложение? Какие-либо предложения, чтобы включить такое поведение?
Вот что происходит:
sumeet@sumeet:/media/tux$ git stastus
git: 'stastus' is not a git command. See 'git --help'.
Did you mean this?
status
sumeet@sumeet:/media/tux$
3 ответа
Предложение в вашем примере не предоставлено оболочкой 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
Смена снарядов не является чем-то легким. Используя любую нестандартную оболочку, вы, вероятно, столкнетесь с несколькими препятствиями, для решения которых потребуется время и усилия.
Большинство оболочек Linux позволяют вам использовать клавишу со стрелкой вверх для прокрутки назад по списку команд, которые вы недавно ввели, затем вы можете отредактировать его перед нажатием Enter, чтобы запустить вновь измененную строку.
Для Ubuntu оболочкой терминала по умолчанию является Bash, которая очень эффективно это поддерживает.
Кажется, это что-то, предоставленное самой командой git:
asb@asb-laptop:~$ git stastus
git: 'stastus' is not a git command. See 'git --help'.
Did you mean this?
status
asb@asb-laptop:~$ svn stastus
Unknown command: 'stastus'
Type 'svn help' for usage.
Хотя, Ubuntu действительно устанавливает command-not-found
по умолчанию. Это дает советы для неправильно набранных или неустановленных команд:
asb@asb-laptop:~$ 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