Programy interaktywne i nieinteraktywne

Czasem chcę, aby program sam ustalił, czy powinien wypisać jakieś wyniki albo poprosić użytkownika o dane wejściowe. Kiedy uruchamiam program z poziomu wiersza poleceń, chcę zobaczyć jakieś wyniki, żeby wiedzieć, co się dzieje. Kiedy program jest uruchamiany przez cron (albo jakieś inne narzędzie do planowania zadań), nie powinien wypisywać wyników.

W rzeczywistości niekoniecznie chodzi o to, czy program jest interaktywny czy nie, ale o to, czy może wysyłać wyniki do terminalu lub pobierać z niego dane wejściowe.

Mogę sprawdzić STDOUT, aby ustalić, czy wyniki programu trafią do terminalu. Test -t informuje mnie, czy uchwyt pliku jest połączony z terminalem. Tak zwykle bywa, jeśli program został uruchomiony ...

Get Perl. Mistrzostwo w programowaniu 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.