Właśnie natrafiłem na fc
polecenie, które pozwala edytować poprzednie polecenie i wydać je później.
Posiada własną FCEDIT
zmienną środowiskową do ustawiania edytora oraz stronę podręcznika użytkownika w POSIX Programmer's Manual ( 1p
).
Tworzy plik w /tmp
katalogu i wykonuje zawartość, jeśli plik jest zapisany ( :wq
w vim
).
Oprócz tego może numerować i wyświetlać fc -l
wcześniej wykonane polecenia do wyboru.
Więc to naprawdę miłe i przydatne polecenie.
Pytanie brzmi, co tak naprawdę oznacza jego nazwa; jak powiązać polecenie z myślą o jego funkcji?
"Pierwsza klasa"? a może nawet jako „Funkcja” (co przyszło mi do głowy po skomponowaniu poprzedniego zdania)?
Podręcznik nazywa to po prostu „narzędziem fc”.
!!
jest poprzednie polecenie,!-2
jest polecenie przed tym,!-3
aby!-N
itd. Następnie!:1
daje pierwszy argument z poprzedniego polecenia!:2
, drugi argument,!*
wszystkie argumenty,^command1^command2
wykonać ostatnia komenda1 zamieniająca instancję komendy 1 na komendę 2 itd.Odpowiedzi:
Mimo że
zshbuiltins(1)
strona podręcznika tego nie wskazuje,fc
polecenie jest prawie takie samo jak jegobash
odpowiednik. Po prostu (F) ix (C) polecenie.źródło
bash
wystawianiehelp fc
(help
będąc narzędziem do wbudowanych powłok), ale dane wyjściowe też tego nie zauważają i żadne z nichwhatis fc
.man bash
lubman builtins
. Lub zobacz linux.die.net/man/1/bash .fc
jest poleceniem POSIX, które pochodzi z ksh AFAIK (już w ksh86, wtedy było już nazywane poleceniem fix ). zsh ma go od pierwszego wydania w 1990 roku. Nie wiem o bash. bash 1.05 nie miał tego.