2.17. Łączenie dwóch programów z wykorzystaniem danych wyjściowych jako parametrów

Problem

Co zrobić, jeśli jeden z programów, do których chcielibyśmy skierować potok, nie obsługuje tego mechanizmu? Przykładem może tu być konieczność usunięcia plików za pomocą polecenia rm, który wymaga zdefiniowania plików do usunięcia jako parametrów instrukcji:

$ rm mój.java twój.c ich.*

Instrukcja rm nie odczytuje informacji ze standardowego strumienia wejściowego, więc niemożliwe jest wykonanie polecenia:

find . –name '*.c' | rm

Skoro instrukcja rm pobiera nazwy plików tylko w formie parametrów wiersza poleceń, to w jaki sposób można wstawić dane wynikowe wykonanej wcześniej instrukcji (np. echo lub ls) do wiersza poleceń?

Rozwiązanie

Należy wykorzystać mechanizm ...

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.