Похоже, вы на самом деле не завершили установку и у вас был только минимальный набор инструментов, являющихся частью системы установки. Инструменты apt должны быть среди этих минимальных инструментов, но не передняя часть aptitude -, которая не установлена по умолчанию в Debian.
Когда я устанавливал Debian на свой ноутбук, у меня были некоторые проблемы с ним на ранней стадии процесса установки, потому что ему требовались сетевые драйверы, которых не было на установочном носителе. Насколько я помню, предложенный обходной путь, который мне был нужен, заключался в том, чтобы найти пакеты драйверов и поместить их на USB-накопитель. Для этого потребуется определить сетевую карту WiFi и найти нужный пакет в веб-интерфейсе к репозиториям Debian . Один из способов сделать это — проверить, какой драйвер используется в Ubuntu; пакет, вероятно, имеет то же имя. Насколько я помню, я подключил ноутбук к коммутатору через кабель Ethernet и таким образом завершил установку.
В целом, хотя я бы сказал, что Debian берет на себя больше инициативы со стороны пользователя, чем Ubuntu или Linux Mint, цель проекта Debian состоит в том, чтобы предложить полную общую цель, поэтому, если вы явно не выбрали минимальную установку, установка Debian по умолчанию будет включать большинство или все инструменты, которые вы ожидаете.
Расширенный оператор оболочки !(...)
Korn доступен только в bash
при включении параметра extglob
(по умолчанию )он отключен.
Вы можете включить extglob
в своей интерактивной оболочке через ~/.bashrc
или другой файл инициализации, но обратите внимание, что эти файлы не используются при запуске скриптов, и этот параметр не наследуется от вызывающей оболочки (, если только переменную BASHOPTS
в окружении, но было бы плохой идеей иметь ее там ).
Явное включение с помощью
shopt -s extglob
в начале вашего скрипта должно работать.
Обратите внимание, что shopt -s extglob
действует только начиная со следующей строки, которая еще не была проанализирована. Это означает, что вы не можете использовать shopt -s extglob
как set -f
, чтобы включить расширенные шаблоны только в подоболочке :
# this won't work
(
shopt -s extglob
echo !(no such file)
)
Вам нужно сделать что-то вроде:
(
shopt -s extglob
eval 'echo !(no such file)'
)