W Bash od czasu do czasu wpisuję listę poleceń i uderzam Enter, a dopiero później zdaję sobie sprawę, że istnieje błąd z niektórymi poleceniami na końcu listy. Wiem, że jeśli naciśniesz Ctrl+ C, zakończy to aktualnie działające polecenie i anuluje resztę listy. Czy jest jakiś sposób, aby anulować resztę listy bez kończenia aktualnie uruchomionego polecenia?
Załóżmy na przykład, że wpisałem coś takiego
foo; bar
lub
foo && bar
gdzie foo
jest długo działające polecenie, że bardzo ważne jest, aby nie przerywać, i bar
robi coś nieodwracalnego i niepożądanego (powiedzmy shutdown -h now
lub rm -rf /
). Podczas gdy foo
nadal działa, czy istnieje ogólny sposób na powiedzenie powłoce, aby foo
skończyła, ale nie uruchamiała bar
później? (Tak, mogę zmienić uprawnienia bar
tak, że nie jest wykonywalny, ale nie jest to szczególnie wygodne, jeśli bar
jest coś takiego rm
, że chcę użyć w międzyczasie, nie będzie działać, jeśli nie własny bar
lub jeśli bar
jest wbudowana).
bar
polecenie nasome_command
:^bar^some_command
przed wykonaniem.