По сути, [ "${-#*i}" != "$-" ]
проверяет, является ли ваша оболочка интерактивной.
$-
содержит флаги, используемые для выполнения вашей оболочки (, например :himBH
, i
означает, что оболочка является интерактивной ). ${-#*i}
дает часть $-
, которая следует за первойi
(mBH
с нашим примером ). Если в $-
нет i
, тогда ${-#*i}
дает $-
.
Это именно то, о чем тест, :если две строки различны, это означает, что i
в $-
, другими словами, интерактивная оболочка.
Обычно это вызвано неполным source.list(/etc/apt/sources.list
).
Проверьте свой source.list, особенно следующие записи (предположим, ubuntu14.04):
trusty-security
trusty-updates
trusty-backports
trusty-proposed
пример исходного списка:
deb http://cn.archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse
Затем запустите apt-get update
и повторите попытку.
В комментариях вы сказали, что используете Debian 8.2. Известно ли вам, что после выпуска Debian 10 в июле 2019 года Debian 8 перешел от дистрибутива oldstable
к дистрибутиву oldoldstable
?
Вы должны проверить свой файл /etc/apt/sources.list
и любые файлы в каталоге /etc/apt/sources.list.d/
, если он существует. Если вы не используете кодовые имена выпуска (, такие как jessie
для Debian 8.x ), а кодовые имена состояний, такие как stable
или oldstable
, и не обновляли sources.list
синхронно с изменениями состояния Debian 8, возможно, вы случайно пытаетесь установить пакеты из неправильного выпуска Debian, что может вызвать проблемы с зависимостями.
Также возможно, что сервер репозитория Debian, который вы используете, может иметь некоторые собственные проблемы. Может попробовать использовать другой репозиторий?
(Также обратите внимание, что, поскольку Debian 8 уже дважды заменялся, обычная поддержка Debian Security больше недоступна для него.До конца июня 2020 года доступна только ограниченная долгосрочная поддержка. Пожалуйста, рассмотрите возможность обновления до более новой версии.)