18.3. Uruchomienie polecenia zbliżonego do wykonywanego wcześniej

Problem

Po wykonaniu długiego i trudnego do zapisania polecenia okazuje się, że zawiera ono błąd typograficzny gdzieś w środkowej części ciągu. Czy konieczne jest przepisanie instrukcji od początku?

Rozwiązanie

Polecenie !! (opisane w „18.2. Powtarzanie ostatniego polecenia”) umożliwia dołączenie dyrektywy edycji. Przydatna okazuje się tutaj umiejętność posługiwania się programem sed. Aby wykonać zadanie, trzeba bowiem umieścić za poleceniem !! operator : wraz z wyrażeniem podmiany wartości charakterystycznym dla mechanizmu sed. Oto stosowny przykład:

$ /usr/bin/gdzieś/jakiśprogram -g -H -yknot -w /tmp/długanazwapliku
Błąd: niewłaściwa opcja –H. Czy chodziło o –A?

$ !!:s/H/A /usr/bin/gdzieś/jakiśprogram ...

Get Bash. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.