Я перезапустил свою машину Kubuntu - из меню leave->restart
если это имеет значение Обычно мои терминальные окна открываются автоматически после перезагрузки, но на этот раз моя подсказка была неправильной и куча других странных вещей.
Теперь / bin / sh - это ссылка на / bin / dash, и dash, похоже, загружен, но внезапно становится намного тупее, чем до перезагрузки. Теперь это не признает, что shopt
является. Когда я пытаюсь расставить все точки, мой профиль ( . ~/.bash_profile
) Я получаю ошибку как /bin/sh: 28: /etc/bash_completion: [[: not found
, В командной строке завершение команды не работает, ни вверх & amp; клавиши вниз для истории команд.
Я сознательно не загружал никаких пакетов, которые должны были быть испорчены с этим. Есть ли веская причина, почему это должно внезапно начаться?
Сейчас я казнил /bin/bash
из командной строки моего терминала, и все, кажется, хорошо, но это не объясняет, что не так с dash
, Также bash
якобы тяжелее, чем тире, и, поскольку я открываю около 20 терминалов, я бы хотел избежать этих издержек, если это правда.
Спасибо за любые идеи в этом.
[[
работает в bash и ksh, но не в dash. Я проверил это в своей системе, чтобы проверить. Эта презентация соглашается. Я не уверен, что изменилось в вашей системе, но [[
не может работать с тире. Остальные ваши проблемы должны быть связаны с тем, что .bash_profile
не могут быть получены.
/etc/passwd
более стабильный и не позволяет неинтерактивным оболочкам использовать Bash по умолчанию является тяжелее, в конце концов).
[[
есть и всегда был только bash. Это внутренняя команда (в отличие от[
, который является двоичным).