watch rulează comanda în mod repetat,
afișând rezultatul și erorile (primul conținut
al ecranului). Acest lucru vă permite să
urmăriți modificarea ieșirii programului în
timp. În mod implicit, comanda este rulată la fiecare 2
secunde și watch va rula până când este
întrerupt.
- -b, --beep
- Emite un bip dacă comanda are o ieșire diferită de
zero.
- -c, --color
- Interpretează secvențele de culori și stil ANSI.
- -C,
--no-color
- Nu interpretează secvențele de culori și stil
ANSI.
- -d,
--differences[=permanent]
- Evidențiază diferențele dintre actualizările
succesive. Dacă este specificat argumentul opțional
permanent, atunci watch va afișa toate
modificările de la prima iterație.
- -e, --errexit
- Îngheață actualizările la producerea unei
erori la ieșirea comenzii și iese după
apăsarea unei taste.
- -g, --chgexit
- Iese, când ieșirea comenzii se modifică.
- -n, --interval
secunde
- Specifică intervalul de actualizare. Comanda nu va permite un
interval mai rapid de 0,1 secunde, în care valorile mai mici sunt
convertite. Ambele semne de separare a zecimalelor „.’
și „,”, funcționează pentru orice
configurare regională. Variabila de mediu WATCH_INTERVAL,
poate fi utilizată pentru a configura în mod persistent un
interval care nu este implicit (urmând aceleași reguli
și formatare).
- -p, --precise
- Face ca watch să încerce să ruleze
comanda la fiecare --interval secunde.
Încercați-o cu ntptime (dacă este prezent)
și observați cum fracțiile de secunde
rămân (aproape) aceleași, spre deosebire de modul
normal în care acestea cresc continuu.
- -q, --equexit
<cycles>
- Iese, când ieșirea comenzii nu se modifică
pentru numărul de cicluri dat.
- -r,
--no-rerun
- Nu rulează programul la redimensionarea terminalului,
ieșirea programului va apărea din nou la următoarea
rulare obișnuită.
- -t,
--no-title
- Dezactivează antetul care afișează intervalul,
comanda și ora curentă în partea de sus a
afișajului, precum și următoarea linie
goală.
- -w, --no-wrap
- Dezactivează încadrarea liniilor (prin
împărțirea lor la lățimea ferestrei).
Liniile lungi vor fi trunchiate în loc să fie transferate pe
linia următoare.
- -x, --exec
- Pasează comanda la exec(2) în loc de la sh
-c, ceea ce reduce nevoia de a folosi ghilimele suplimentare pentru a
obține efectul dorit.
- -h, --help
- Afișează acest mesaj de ajutor.
- -v, --version
- Afișează informațiile despre versiune și
iese.
- 0
- Succes.
- 1
- Diverse eșecuri.
- 2
- Bifurcarea procesului de monitorizare a eșuat.
- 3
- Înlocuirea ieșirii standard a procesului-copil din partea de
scriere a conductei a eșuat.
- 4
- Execuția comenzii a eșuat.
- 5
- Închiderea conductei de scriere a procesului-copil a
eșuat.
- 7
- O încercare de a crea o conductă IPC a eșuat.
- 8
- Obținerea valorii de returnare a procesului-copil cu
waitpid(2) a eșuat sau comanda a ieșit din
eroare.
- altul
- «watch» va transmite starea de ieșire a comenzii ca
stare de ieșire a procesului-copil.
Comportamentul lui watch este afectat de următoarele
variabile de mediu.
- WATCH_INTERVAL
- Intervalul de actualizare, urmează aceleași reguli ca
și opțiunea --interval din linia de comandă.
Se utilizează procesarea opțiunii POSIX
(adică procesarea opțiunii se oprește la primul
argument care nu este opțiunea). Aceasta înseamnă
că opțiunile de după comandă nu vor fi
interpretate de watch.
După redimensionarea ferestrei terminalului, datele nu vor
fi reformatate corespunzător până la următoarea
actualizare programată. Orice evidențiere
obținută cu opțiunea --differences va fi de
asemenea pierdută. Atunci când se utilizează
opțiunea --no-rerun, nu va fi vizibilă nicio
ieșire.
Caracterele care nu se imprimă sunt eliminate din
ieșirea programului. Utilizați cat -v ca parte a unei
secvențe de comandă creată cu caracterul
conductă (|) dacă doriți să le
vedeți.
Combinația de caractere care ar fi trebuit să fie
afișată în ultima coloană de pe ecran poate
să fie afișată cu o coloană mai devreme sau
să nu fie afișată deloc.
Combinațiile de caractere nu sunt niciodată
considerate diferite în modul --differences. Sunt luate
în considerare doar caracterele de bază.
Liniile goale care urmează imediat după o linie care
se termină în ultima coloană nu sunt
afișate.
Modul --precise nu are încă funcții de
sincronizare pentru a compensa o comandă al cărei timp
de execuție este mai mare de --interval secunde.
watch poate ajunge, de asemenea, într-o stare în care
să declanșeze în rafală cât mai multe
execuții ale comenzii pentru a „prinde din
urmă” execuțiile anterioare care rulează mai
mult decât --interval (de exemplu, netstat(8)
luând ani de zile într-o căutare DNS).
Pentru a urmări corespondența, ați putea rula
comanda:
- watch -n 60 from
Pentru a urmări conținutul modificării unui
director, puteți utiliza următoarea comandă:
- watch -d ls -l
Dacă sunteți interesat doar de fișierele
deținute de utilizatorul „nicu”, ați putea
folosi:
- watch -d 'ls -l | fgrep nicu'
Pentru a vedea rezultatul folosirii ghilimelelor,
încercați următoarea comandă:
- watch echo $$
watch echo '$$'
watch echo "'"'$$'"'"
Pentru a vedea rezultatul sincronizării precise,
încercați să adăugați opțiunea
-p la următoarea comandă:
- watch -n 10 sleep 1
Puteți urmări ca administratorul
dumneavoastră să instaleze cel mai recent nucleu cu ajutorul
comenzii:
- watch uname -r
(Rețineți că -p nu este garantat
să funcționeze la reporniri, mai ales din cauza a
ntpdate (dacă este prezent) sau a altor mecanisme de schimbare
a timpului de pornire)