!!
とは何の関係もありませんapt-get
。これは、前のコマンドに展開されるシェルキーワードです。この展開は、現在のコマンドが解釈される前にシェルによって行われます。
からman bash
:
!! 前のコマンドを参照してください。これは `!-1 'の同義語です。
たとえば、コマンドを実行する場合:
echo "foo"
次に、実行する場合:
sudo apt-get install !!
以下に展開されます。
sudo apt-get install echo foo
あなたが見ることができるように、それはすなわち、二つのパッケージに展開されecho
、他方がありますfoo
。foo
and という名前のスタンドアロンパッケージはありません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
、インストールされています。
明示的であっても害はないので、(これが確実でない限り)これをしないことをお勧めします。