Bardzo przydatne, gdy zapomnisz sudo na początku polecenia, !!
działa jak alias poprzedniego polecenia. Przykład:
$ mv /very/long/path/for/a/protected/sensible/file/caution.h .
(...) Permission denined
$ sudo !!
sudo mv /very/long/path/for(...) .
[sudo] password :
- Jak nazywamy tę podwójną
!!
sztuczkę? Badania przez Internet są trudne z powodu tego tokena. - Jak to działa ? Podejrzewam, że istnieje link do polecenia historii.
- Gdzie to jest zdefiniowane? Czy mogę sam zdefiniować coś innego?
EDYCJA: Kilka interesujących projektantów wydarzeń
!!:*
Odnosi się do argumentów poprzedniego polecenia. Przypadek użycia :
cat /a/file/to/read/with/long/path
nano !!:*
:p
Wystarczy wydrukować polecenie bez jego wykonania, należy je umieścić na końcu oznaczenia zdarzenia.
$ !-5:p
sudo rm /etc/fstab -f
!
pasującego polecenia na liście historii bieżącej powłoki. !!
jest przypadkiem szczególnym, równoważnym z !-1
, gdy n
następująca po nim liczba ujemna !
dotyczy n-tego poprzedniego polecenia.
LESS='+/^HISTORY EXPANSION' man bash
.
man history