2015-03-18 16 views
5

Jak mogę połączyć dwie (lub więcej) połączeń za pomocą polecenia watch?
Tak, że są one prowadzone razem (seryjnie) i watch pokazuje ich połączone wyjście?Linux użyj polecenia watch z wieloma połączeniami

tj. watch command1 command2

Więc pokazać zawartość dwóch różnych katalogach:

watch $(ls dir1) $(ls dir2) 

(. Parens podpowłoki właśnie dodana dla jasności)

Oczywiście mogę utworzyć skrypt do uruchomienia obu poleceń, rury wyniki do pliku tymczasowego i cat go dla jego zawartości okresowo przez zegarek, ale powstrzymam się od niego, jeśli jest to w jakiś sposób możliwe natywnie. :)

Zasypki, grupowanie, proces zastępowania mi nie pomogły, więc nie mam szczęścia i nie mam pojęcia, gdzie teraz patrzeć.

Czy to w ogóle możliwe?

UPDATE:

watch cat <(ls dir1) <(ls dir2) 

daje mi na pierwszej iteracji, co chciałbym zobaczyć odświeżone okresowo, ale nie wielokrotnie. :(

Odpowiedz

12

watch domyślnie uruchamia przekazany polecenie w powłoce, dzięki czemu można go dowolne polecenie ważny dla skorupy pass:

watch 'ls dir1; ls dir2' 
+0

Na co warto, to osiągnąć to samo z &&: 'watch„ls dir1 && ls dir2'' – Vaughany

+1

tak, z tym wyjątkiem, że ";" nie jest tym samym, co "&&" w bashu. ";" Polecenie just sequence "w kolejności, bez względu na to, co się stało, gdy" && "uruchamia następne polecenie tylko wtedy, gdy poprzednie odnoszący sukcesy –

Powiązane problemy