2010-03-16 2 views
5

Недавно я унаследовал ящик Ubuntu Hardy, который действует довольно забавно из-за коробки. Первыми вещами, которые я пытался сделать, был отредактирован мой профиль .bashrc, чтобы сделать некоторую раскраску и добавить некоторые псевдонимы, которые у меня обычно есть, но затем, когда я пытаюсь создать источник ~/.bashrc, я получаю sh: source: not found, и я также заметил, что вкладка автозаполнения также не является работая вообще - я считаю, что это называется bash_completetion, но, как я уверен, вы можете сказать, я не эксперт.bash_completion не работает, команда источника не найдена

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

+0

Не похоже, что вы на самом деле работаете Баш, если вы получаете в 'sh' ошибку. – Cascabel

ответ

11

Общий процесс мысли:

  • Используйте ps, чтобы подтвердить, что вы на самом деле с помощью sh не bash

  • подтверждают, что /bin/bash существует и работает должным образом (и [вновь] установить его, если он Безразлично» t)

  • chsh, чтобы изменить вашу оболочку входа в bash

  • установить пакет Баш-завершения, если он отсутствует

+1

Я предпочитаю проверять свою оболочку с помощью 'echo $ 0', см., Какие оболочки доступны с помощью' cat/etc/shells', а затем 'exec/bin/bash', чтобы начать использовать bash без необходимости переустановки. Затем используйте 'chsh -s/bin/bash', чтобы установить bash в качестве моей оболочки входа. – spex

1

Вы должны получать bash: source: command not found (за исключением того, Баш никогда не найти source, конечно). Если вы получите sh:, то вы либо не используете bash вообще, либо запустите bash с флагом, который говорит ему, чтобы он притворился, что это оболочка Bourne /bin/sh. Введите bash, чтобы получить реальный баш, или отредактируйте конфигурацию запуска, чтобы он не прошел этот флаг (не уверен, где они находятся в Ubuntu).

0

Серверы Ubuntu иногда имеют/bin/sh в качестве оболочки по умолчанию. Это согласуется с проблемой, которую вы опубликовали, поскольку/bin/sh не имеет доступной исходной команды. Если вы заметили недостающие функции bash, возможно, вы не находитесь в bash. Вот шаги, чтобы следовать, и что-то вспомнить, когда вы войти в новую * NIX коробка:

  1. Проверьте, какую оболочку использует с echo $0
  2. Посмотрите, что снаряды доступны с cat /etc/shells
    1. Ищите /bin/bash в списке, если вы хотите использовать Баш
    2. Если Баш нет в списке, apt-get install bash (Ubuntu/Debian специфические)
  3. Начните Баш с exec /bin/bash
  4. Set Баша в качестве регистрационной оболочки с chsh -s /bin/bash
Смежные вопросы