Historie příkazů
Historie příkazů je funkcionalita, která uživateli umožňuje vyvolávat předchozí příkazy a po případné úpravě je znovu provádět. Je obsažena v mnoha shellech a jiných programech ovládaných pomocí příkazového řádku.
Historie
editovatV Unixu se historie příkazového řádku objevila v roce 1978, kdy ji ve svém C shellu implementoval Bill Joy[1] inspirovaný mechanismem historie v Interlispu.[2] Protože využívání historie zrychluje a usnadňuje práci, získala si oblibu mnoha uživatelů a v novějších shellech, jako je ksh nebo Bash je standardním rysem. Její užitečnost je zřejmá, např. v následujících použitích:
- opakované provedení stejného příkazu nebo krátké posloupnosti příkazů, např. když vývojář opakovaně používá několik příkazů pro překlad a spuštění programu
- oprava chyby nebo opakované provádění příkazu pouze s malými změnami
Kombinace s editací příkazového řádku
editovatSoučasné implementace kombinují historii s editací příkazového řádku. Kurzorové klávesy nahoru a dolů se používají pro výběr příkazu z historie a kurzové klávesy vlevo a vpravo pro pohyb v řádku na místo, kde uživatel může jednoduše zadat požadovanou změnu. Některé implementace používají menu: stiskem určité funkční klávesy, např. F7, se zobrazí nabídka posledních příkazů, ze které si uživatel může vybrat zadáním čísla. V této podobě zpřístupnil historii příkazového řádku příkaz DOSKEY v DR DOSu, jehož funkcionalita je vestavěna do interpretu Cmd.exe v Microsoft Windows.
Odkazy na předchozí příkazy
editovatC-shell zavedl odkazy na předchozí příkazy, které jsou tvořeny znakem vykřičník !
následovaným dalšími znaky pro výběr příkazu, jeho části nebo provedení určité úpravy před vložením příkazu zpět do příkazového řádku. Například:
!!
celý předchozí příkaz!p
p-tý příkaz (čísla příkazů vypisuje příkazhistory
)!-p
p-tý příkaz od konce!abc
příkaz, které začíná znaky abc!?string
poslední použitý příkaz, který obsahuje řetězec string!$
poslední slovo předchozího příkazu!^
první argument předchozího příkazu!*
všechny argumenty předchozího příkazu!:n
n-tý argument předchozího příkazu!:m-n
m-tý až n-tý argument předchozího příkazu!:n-$
všechny argumenty od n-tého až po poslední z předchozího příkazu!p:m-n
m-tý až n-tý argument p-tého příkazu
Používání těchto odkazů není příliš intuitivní, ale funguje i případech, kdy nelze použít editaci příkazového řádku, např. kvůli špatně nastavenému terminálu nebo terminálovému emulátoru s omezenou funkčností. Užitečným, stručným a často použitelným výrazem je odkaz na poslední parametr posledního příkazu – !$
.
Záznam historie do souboru
editovatNěkteré implementace, např. Bash, podporují záznam historie příkazů do souboru,[3][4] takže je lze používat i po odhlášení a opakovaném přihlášení.
Odkazy
editovatReference
editovatV tomto článku byl použit překlad textu z článku Command history na anglické Wikipedii.
- ↑ JOY, Bill. An Introduction to the C shell [online]. 2018-07-13. Dostupné v archivu pořízeném z originálu.
- ↑ TEITELMAN, Warren; MASINTER, Larry. Duben 1981 [cit. 2024-04-28]. Dostupné online.
- ↑ Bash programming/Bash History - Wikiversity [online]. Dostupné online.
- ↑ Bash Reference Manual [online]. Dostupné online.