Co oznaczają litery w poleceniu `fc`?

19

Właśnie natrafiłem na fcpolecenie, które pozwala edytować poprzednie polecenie i wydać je później.

Posiada własną FCEDITzmienną środowiskową do ustawiania edytora oraz stronę podręcznika użytkownika w POSIX Programmer's Manual ( 1p).

Tworzy plik w /tmpkatalogu i wykonuje zawartość, jeśli plik jest zapisany ( :wqw vim).

Oprócz tego może numerować i wyświetlać fc -lwcześ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”.


źródło
2
Dzięki za pytanie; Przez długi czas zastanawiałem się, jakiego mechanizmu używał ^ X, ^ E do wykonywania tej funkcji.
DopeGhoti
1
Zobacz także Eksportuj historię poleceń do skryptu powłoki .
Stephen Kitt
Jest tam wiele historii chłodny rozwinięć można zrobić, jak dobrze ... !!jest poprzednie polecenie, !-2jest polecenie przed tym, !-3aby !-Nitd. Następnie !:1daje pierwszy argument z poprzedniego polecenia !:2, drugi argument, !*wszystkie argumenty, ^command1^command2wykonać ostatnia komenda1 zamieniająca instancję komendy 1 na komendę 2 itd.
Charles Addis
istnieje również podobne polecenie trzeciej pary z ulepszeniami predykcyjnymi.

Odpowiedzi:

20

Mimo że zshbuiltins(1)strona podręcznika tego nie wskazuje, fcpolecenie jest prawie takie samo jak jego bashodpowiednik. Po prostu (F) ix (C) polecenie.

Uścisk śmierci
źródło
Podziękować. To ma sens i brzmi idealnie. Przełączyłem się na bashwystawianie help fc( helpbędąc narzędziem do wbudowanych powłok), ale dane wyjściowe też tego nie zauważają i żadne z nich whatis fc.
2
Możesz spróbować man bashlub man builtins. Lub zobacz linux.die.net/man/1/bash .
Deathgrip,
6
fcjest 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.
Stéphane Chazelas,
Świetny! Musiałem potwierdzić, że: P