Почему не делает автоматической полной работы в моей оболочке?

Я не так в Linux, и у меня есть следующие сомнения: клиент предоставил мне виртуальную машину LTS Ubuntu 18.04.3, к которой я получаю доступ через SSH. (Я использую MobaxTerm в качестве клиента SSH, но это не должна быть проблема.) Используемая оболочка sh.

Проблема состоит в том, что в оболочке функция автоматического заполнения не работает, поскольку я ожидал использовать клавишу Tab.

Это просто поместило классические пробелы вкладки.

Почему? Как я могу изменить эту конфигурацию?

5
задан 23 November 2019 в 14:36

1 ответ

sh обеспечивают dash в Ubuntu. Много оболочек, включая bash и zsh, имейте сложные функции легкого интерактивного использования. dash сознательно довольно минимально и не предлагает такие функции. В частности, это не предлагает заполнение клавишей Tab.

Даже упрощенные системы Ubuntu обычно имеют bash установленный, потому что это считают существенным пакетом - мы, как предполагается, можем предположить, что это присутствует даже вне случая, где другой пакет зависит от него. Обычно bash пользовательская оболочка по умолчанию на Ubuntu - то есть, оболочка входа в систему, которую новые пользователи получают по умолчанию - хотя это может быть реконфигурировано.

Я рекомендую использовать bash или другая оболочка, которая хороша использовать в интерактивном режиме. Вы видите если bash доступно в этом VM путем выполнения:

bash

Принятие Ваш $PATH установлен обоснованно, который будет работать bash если это доступно. Можно удостовериться то заполнение клавишей Tab работы в bash- это должно, но нет никакой причины не проверить - и затем получить заполнение клавишей Tab в будущем посредством одного из двух подходов:

  • Можно просто работать bash когда Вы хотите заполнение клавишей Tab и другой bash функции.
  • Можно изменить оболочку входа в систему учетной записи пользователя на bash с chsh команда.

Обратите внимание, что существует отдельный названный пакет bash-completion который также обычно устанавливается. Это обеспечивает программируемое заполнение клавишей Tab - то есть, заполнение клавишей Tab, которое варьируется контекстом и, например, знает о флагах и другом синтаксисе команд. Возможно иметь bash установленный, но нет bash-completion.

(Чтобы узнать, если какой-то конкретный пакет-bash, bash-completion, или что-либо еще - установлено, можно использовать apt list package-name. Для получения дополнительной информации о пакете можно использовать apt show package-name и apt policy package-name.)

7
ответ дан 21 December 2019 в 23:51

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

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