На одному з моїх серверів підказки є [user @ host path] ... і я можу насправді натиснути "вкладку", щоб автоматично заповнити шлях.
Але на моєму новому сервері Ubuntu це лише знак долара?
На одному з моїх серверів підказки є [user @ host path] ... і я можу насправді натиснути "вкладку", щоб автоматично заповнити шлях.
Але на моєму новому сервері Ubuntu це лише знак долара?
Відповіді:
Оскільки ви задаєте два запитання, я відповім на обидва.
Оскільки оболонка або не підтримує її, або заповнення вкладки не увімкнено.
Щоб вирішити це, спершу потрібно виявити, що таке оболонка. На машині, оболонка якої вам подобається, бігайте
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 Variables (включаючи PS1
, & c) та Друк підказки (де описано PROMPT_COMMAND
, довге ім'я PS1
). Додайте наступний рядок до свого~/.bashrc
export PS1='[\u@\h \w] '
tcsh
має онлайн-посібник (лише його підручну сторінку) з розділом про швидкі змінні середовища. Додайте наступний рядок до свого~/.tcshrc
set prompt='[%n@%m %~] '
zsh
має посібник користувача , простий посібник із підказками , а також посібник з дуже детальною посиланням на швидке розширення . Додайте наступний рядок до свого~/.zshrc
export PS1='[%n@%m %~] '
Баш - не єдина оболонка.
Ваша проблема може бути простим питанням у тому, що не має .profile або .bashrc, який встановлює PS1, або може бути, що ваша оболонка для входу зовсім не баш.
Bash використовує gnu readline
для таких речей, як заповнення вкладок. Це складна тема, і у рядку перегляду навіть є власний конфігураційний файл для кожного користувача.
Див man bash
, man sh
і man 3 readline
. Баш відповідає на --version
. У багатьох системах Linux /bin/sh
насправді не є bash, а зазвичай каліка версія ash
.
dash
а не замість ash
? я думав, що я прочитав щось подібне
я здогадуюсь, ви не використовуєте bash, але sh і ваш запит не встановлений належним чином (якщо це можливо навіть з sh).
ви можете отримати свою поточну оболонку, ввівши: echo $SHELL
якщо ви хочете почати bash, просто введіть bash
sh
. Echoing $SHELL
надрукує змінну середовища, що називається SHELL
. Ця змінна середовище просто вказує на оболонку і встановлюється лише bash. Приблизно марно визначати, яка оболонка запущена, як це лише слабо вказує на те, що якийсь з батьків поточного процесу, можливо, був баш.
/bin/sh
, так. Але я не знаю жодної оболонки, чиє ім’я sh
. Я можу думати ash
, ksh
, csh
, bash
, zsh
, і tcsh
. Перший - це звичайний / bin / sh для Linux та NetBSD, останній - звичайна оболонка FreeBSD, а інші - необов'язкові оболонки. У багатьох середовищах робочого столу змінюється оболонка для входу користувачів на бешкет, залишаючи / bin / sh як золу.
sh
- оболонка Борна. en.wikipedia.org/wiki/Bourne_shell Деякі системи (Solaris) все ще постачаються з версією оболонки Bourne, яка не є лише копією однієї з повторних реалізацій (ash, dash, bash, ksh, zsh).
Вам потрібно встановити змінну під назвою PS1 в одному зі своїх скриптів входу, наприклад / etc / profile або ~ / .bashrc. Це буде залежати від вашого розповсюдження.
Приклад: http://www.cyberciti.biz/tips/howto-linux-unix-bash-shell-setup-prompt.html
pwd
друк імені поточного робочого каталогу. А ви хочете сказати, що і завершення вкладки не працює? (На деяких машинах, які я використовую, я отримую це коротке підказку лише в тому випадку, якщо я ввійду як корінь, і я щасливо залишаю це на місці, як приємне попередження. Оскільки рідко, якщо взагалі, потрібно входити як root: ви не використовуєте root , ти?)