!!
non ha nulla a che fare con apt-get
. È una parola chiave shell che verrà espansa al comando precedente. Questa espansione viene eseguita dalla shell prima che il comando corrente venga interpretato.
Da man bash
:
!! Fare riferimento al comando precedente. Questo è un sinonimo
per "! -1".
Ad esempio, se esegui un comando:
echo "foo"
Quindi se esegui:
sudo apt-get install !!
sarà esteso a:
sudo apt-get install echo foo
Come puoi vedere, è espanso in due pacchetti, vale a dire echo
e l'altro è foo
. Non esiste un pacchetto autonomo denominato foo
e echo
. A parte la shell incorporata echo
, esiste l'eseguibile /bin/echo
che fa parte del pacchetto GNU-coreutils. Quindi, riceverai errori dicendo che nessun pacchetto di questo tipo è disponibile.
D'altra parte l'altra persona potrebbe fare qualcosa del genere:
$ 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.
Come puoi vedere cowsay
è in fase di installazione.
Ti suggerisco di non farlo (se non sei sicuro), essere espliciti non nuoce.