Я перезапустил свою машину 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. Это внутренняя команда (в отличие от[, который является двоичным).