Так как Вы задаете два вопроса, я отвечу на обоих.
Поскольку Вы окружаете, или не поддерживает его, или заполнение клавишей Tab не включено.
Для разрешения этого сначала необходимо обнаружить, какова оболочка. На машине, оболочкой которой Вы наслаждаетесь, работать
echo $SHELL
Можно видеть общее /bin/bash
, или что-то менее общее как /bin/tcsh
, /bin/zsh
или что-то еще полностью.
Теперь, можно изменить оболочку на машине Ubuntu. На той машине сначала удостоверьтесь, что оболочка, которую Вы хотите, существует. Так как оболочка не могла бы быть в том же месте на машине Ubuntu как на другом, проверить местоположение путем ввода
which bash
Это даст Вам путь оболочки, как которая Вы хотите, что-то /bin/bash
, /usr/bin/bash
, или /usr/local/bin/bash
. Конечно, если Вы захотите оболочку кроме удара, то Вы скажете which tcsh
, which zsh
, или подобный.
Если Вы не видите путь, но вместо этого видите bash not found
, затем необходимо будет установить соответствующий пакет и снова использовать which
узнать, где оболочка была установлена.
С путем Вашей выбранной оболочки можно наконец изменить оболочку путем выполнения
chsh -s /bin/bash
замена /bin/bash
с чем соответствующий путь для Вашей предпочтительной оболочки.
Из-за Ваших быстрых переменных среды $PS1
, $PS2
, и так далее. Эти вещи не имеют тенденцию быть портативными между оболочками, таким образом, вот несколько ссылок для вероятных кандидатов:
bash
имеет обширное руководство, со страницами на Переменных Bash (включая PS1
, &c) и Печать Подсказки (который описывает PROMPT_COMMAND
, длинное название PS1
). Добавьте следующую строку к Вашему ~/.bashrc
export PS1='[\u@\h \w] '
tcsh
имеет руководство онлайн (просто его страница справочника), с разделом по быстрым переменным среды. Добавьте следующую строку к Вашему ~/.tcshrc
set prompt='[%n@%m %~] '
zsh
имеет руководство пользователя, с простым руководством по подсказкам, а также руководством, с очень подробной ссылкой на Быстром Расширении. Добавьте следующую строку к Вашему ~/.zshrc
export PS1='[%n@%m %~] '
Bash не является единственной оболочкой.
Вашей проблемой мог быть простой вопрос не наличия .profile или .bashrc, который устанавливает PS1, или могло случиться так, что Ваша оболочка входа в систему не является ударом вообще.
Использование Bash gnu readline
для вещей как заполнение клавишей Tab. Это - сложный предмет, и readline даже имеет свой собственный файл конфигурации в расчете на пользователя.
Посмотрите man bash
, man sh
, и man 3 readline
. Bash отвечает на --version
. Во многих системах Linux, /bin/sh
не на самом деле удар, но обычно демонстрационная версия с ограниченными возможностями ash
.
Необходимо установить переменную под названием PS1 на одном из сценария входа в систему, например,/etc/profile или ~/.bashrc. Это будет зависеть от Вашего распределения.
Пример: http://www.cyberciti.biz/tips/howto-linux-unix-bash-shell-setup-prompt.html