!!
не имеет ничего общего с apt-get
. Это ключевое слово оболочки, которое будет расширено до предыдущей команды. Это расширение выполняется оболочкой перед интерпретацией текущей команды. Р>
От man bash
:
!! Обратитесь к предыдущей команде. Это синоним
для '! -1'.
Например, если вы запустите команду:
echo "foo"
Затем, если вы запустите:
sudo apt-get install !!
он будет расширен до:
sudo apt-get install echo foo
Как вы можете видеть, он расширен в два пакета, а именно echo
, а другой - foo
. Нет отдельного пакета с именем foo
и echo
. Помимо оболочки, встроенной echo
, существует /bin/echo
исполняемый файл, который является частью пакета GNU-coreutils. Итак, вы получите ошибки, говорящие, что таких пакетов нет.
С другой стороны, другой человек может делать что-то вроде этого:
$ cowsay
The program 'cowsay' is currently not installed. You can install it by typing:
sudo apt-get install cowsay
$ sudo apt-get install !!
sudo apt-get install cowsay
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
filters
The following NEW packages will be installed:
cowsay
0 upgraded, 1 newly installed, 0 to remove and 119 not upgraded.
Need to get 18.5 kB of archives.
Как вы видите, cowsay
устанавливается.
Я бы предложил вам не делать этого (если вы не уверены), явное не вредит.