Распознает ли терминал типичные опечатки? [дубликат]

Это может показаться глупым вопросом.

Я использую Ubuntu 15.10 с GNOME Terminal 3.16.2. Когда я был новичком в системе, я часто набирал «l» или «la» вместо «ls» для вывода списка файлов, а затем мне говорили, что это недопустимые команды. Очевидно, я тогда правильно набрал ls. Теперь я замечаю, что ввод «l» и «la» делает то же самое, что и «ls».

Что здесь происходит? Узнал ли терминал о типичных ошибках, которые я делаю, и использовал ли псевдонимы для их учета, или это новая функция, которую я установил, не осознавая?

1
задан 9 April 2016 в 23:25

2 ответа

Когда Вы звоните l или la, Вы в основном называете псевдонимы:

l='ls -lah'
la='ls -lAh'

можно проверить все псевдонимы, в настоящее время настраиваемые в системе путем выполнения alias. Может быть хорошо иметь некоторый self-learining механизм, который будет помнить Ваши опечатки устранять их, но на данный момент это только что предварительно сконфигурировало псевдонимы.

Связанный вопрос на: Unix& Linux

0
ответ дан 10 April 2016 в 09:25
  • 1
    Можно также использовать неименованный канал вместо именованного FIFO (для немного лучшей производительности или если оболочка doesn' t замена процесса поддержки): seq -f '>seq%g' 1 4 | paste -d '\n' - file – David Foerster 4 September 2017 в 09:37

Сам Shell не имеет возможности сделать проверку правописания для пользователя. С чем Вы имеете la и l псевдонимы. В .bashrc файл можно установить псевдоним для любой команды. Например, если я часто ввожу с опечаткой pwd управляйте для печати рабочего каталога, я использовал бы это в моем .bashrc файл:

alias pdw='pwd'

Псевдонимы l и la должен существовать в оболочке удара по умолчанию, и я не вижу оснований, почему они не работали бы на Вас прежде. Если Вы - пользователь на машине, у которого есть другой администратор, то вероятно, что он отключил или включил им.

Существует sl команда, которая не включена по умолчанию в Ubuntu, но показывает анимацию паровоза (следовательно sl имя), когда Вы вводите с опечаткой ls. Это однако - что-то, что должно быть вручную установлено.

Если команда является сложной комбинацией других команд, Вы могли бы всегда использовать функцию, как так

sl()
{
  echo "You've mistyped ls again"
  echo "Don't rush" 
}

Если Вы пишете сценарий, можно отсортировать, делают проверку правописания (и намного больше) на том использовании shellcheck

0
ответ дан 7 December 2019 в 15:58

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

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