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 V Unixu se historie příkazového řádku objevila v roce 1978, kdy ji ve svém C shellu implementoval Bill Joy inspirovaný mechanismem historie v Interlispu. 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 Souč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ř. , 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 C-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říkaz history) !-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 Některé implementace, např. Bash, podporují záznam historie příkazů do souboru, takže je lze používat i po odhlášení a opakovaném přihlášení.
Odkazy
Reference
Související články Dokončování příkazového řádku Našeptávač IntelliSense HISTORY (direktiva v CONFIG.SYS) DOSKEY Porovnání příkazových shellů
Kategorie:Uživatelské rozhraní