Czy istnieje oficjalny POSIX, GNU lub inne wytyczne dotyczące tego, gdzie powinny być drukowane raporty z postępu i informacje o logowaniu (takie jak „Doing foo; foo done”)? Osobiście staram się pisać je do stderr, aby móc przekierować standardowe wyjście i uzyskać tylko rzeczywiste wyjście programu. Niedawno powiedziano mi, że nie …
Chcę skonfigurować mój terminal, aby stderrbył drukowany w innym kolorze niż stdout; może czerwony. Ułatwiłoby to rozróżnienie między nimi. Czy istnieje sposób, aby to skonfigurować .bashrc? Jeśli nie, czy to w ogóle możliwe? Uwaga : To pytanie zostało połączone z innym , o które proszono stderr, stdout a echo wejściowe …
Rozważ następującą (nieco głupią) nazwę skryptu „test1.sh”: #/bin/bash # sleep 10 & echo sleep pid = $! pkill sleep Kiedy go uruchamiam, otrzymuję nie tylko wynik echa, ale także raport bash o śmierci snu na stderr: $ ./test1.sh sleep pid = 3551 ./test1.sh: line 5: 3551 Terminated sleep 10 W …
Jak mogę to osiągnąć? cmd >> file1 2>&1 1>>file2 Oznacza to, że stdout i stderr powinny przekierowywać do jednego pliku (plik1) i tylko stdout (plik2) powinien przekierowywać do innego (oba w trybie dołączania)?
Wygląda na to, że każda aplikacja z terminala wyświetla ostrzeżenia i komunikaty o błędach, nawet jeśli wydaje się działać poprawnie. Emacs: ** (emacs:5004): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-xxfluS2Izg: Connection refused Przejawiać: ** (evince:5052): WARNING **: Couldn't connect to accessibility bus: Failed to …
Zaczynam w pustym katalogu. $ touch aFile $ ls aFile Następnie mam lsdwa argumenty, z których jeden nie znajduje się w tym katalogu. Przekierowuję oba strumienie wyjściowe do pliku o nazwie output. Używam >>, aby uniknąć pisania jednocześnie. $ ls aFile not_exist >>output 2>>output $ cat output ls: cannot access …
Zaczynam moją aplikację w tle, używając, nohupjak wspomniano poniżej - root@phx5qa01c:/bezook# nohup java -jar ./exhibitor-1.5.1/lib/exhibitor-1.5.1-jar-with-dependencies.jar -c file --fsconfigdir /opt/exhibitor/conf --hostname phx5qa01c.phx.qa.host.com > exhibitor.out & [1] 30781 root@phx5qa01c:/bezook# nohup: ignoring input and redirecting stderr to stdout Ale za każdym razem, gdy widzę tę wiadomość - nohup: ignoring input and redirecting stderr …
W bash: $ echo hi 2>&1 1>/dev/null | cat $ Podczas pobytu w Zsh: $ echo hi 2>&1 1>/dev/null | cat hi $ Czy można przekierować tylko standardowy błąd podczas przekierowywania standardowego?
Uruchomiłem plik wykonywalny bash ./code > log Pokazuje sporadyczne komunikaty o błędach na terminalu, podczas gdy wszystkie instrukcje printf przechodzą do pliku dziennika. Ponownie uruchamiam go jak poniżej ./code >& log Teraz sporadyczne komunikaty o błędach przechodzą również do dziennika. Ale jeśli wystąpi błąd segmentacji, nadal jest wyświetlany na terminalu. …
Natknąłem się na ten problem, więc zastanawiam się, jak to możliwe? Standardowy przebieg polecenia: # zabbix_sender -c zabbix_agentd.conf -k mmysql.QCInserts -o 14 info from server: "Processed 0 Failed 1 Total 1 Seconds spent 0.000017" sent: 1; skipped: 0; total: 1 OK, spróbujmy pobrać tylko pierwszą linię: # zabbix_sender -c zabbix_agentd.conf …
Wiem, że dobrze zachowujące się narzędzia, takie jak grep, wysyłają „standardowe” komunikaty do standardowego wyjścia, a komunikaty o błędach do standardowego. $ grep '^foo' file1 file2 file1:foo grep: file2: No such file or directory Kiedy sam piszę skrypty powłoki, często trudno mi zdecydować, jakie dane wyjściowe i jakie komunikaty powinienem …
Powiedzmy, że uruchamiam kilka procesów: #!/usr/bin/env bash foo & bar & baz & wait; Uruchomiłem powyższy skrypt tak: foobarbaz | cat o ile wiem, kiedy którykolwiek z procesów zapisuje do stdout / stderr, ich wyjście nigdy się nie przeplata - każda linia stdio wydaje się być atomowa. Jak to działa? …
Jeśli piszę skrypt lub program, czy powinienem wypisywać na stderr jego nazwę wraz z ostrzeżeniem lub komunikatem o błędzie? Na przykład: ./script.sh: Warning! Variable "var" lowered down to 10. lub: ./prog.py: Error! No such file: "file.cfg". Rozumiem, że generalnie jest to tylko kwestia gustu (zwłaszcza jeśli piszesz własne rzeczy dla …
Według tej odpowiedzi przez Schily , lessodczytuje polecenia nawigacyjne ze standardowego wyjścia błędów, jeśli nie jest w stanie otworzyć /dev/tty. To wydaje się zagadkowe, ponieważ nigdy nie widziałem, aby cokolwiek zapisywało w strumieniu stderr innego programu, i nie wiem, jak bym to osiągnął. W jakim celu stderr jest otwarty na …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.