!!와는 아무런 관련이 없습니다 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설치 중입니다.
나는 당신이 (당신이 확실하지 않은 한) 이것을하지 않는 것이 좋습니다.