Puncte:0

Cum să împiedici comanda gio open să trimită mesaje text în consolă?

drapel ph

Eu folosesc gio deschis comandă foarte des, așa că ceea ce am făcut este că am adăugat un alias pentru ea în fișierul .bashrc

alias open="gio open"

Prin urmare, pot să scriu pur și simplu deschis . sau deschide ~/Pictures/example.png ca exemplu.

Cu toate acestea, nu pot preveni ieșirea enervantă a gio deoarece nu are un --destul de opțiune implicită, gio deschis emite câteva mesaje în timpul sarcinii sale, de exemplu:

msi@msi:~/Pictures$ deschide imaginea-3.jpg 
msi@msi:~/Pictures$ 
(gthumb:37944): Gtk-WARNING **: 08:00:54.815: Nu s-a putut înregistra clientul: GDBus.Error:org.gnome.SessionManager.AlreadyRegistered: Nu se poate înregistra clientul

Deci, ceea ce am descoperit este că unii oameni foloseau operatorul de redirecționare pentru a redirecționa ieșirea unei comenzi de la ieșirea standard (shell-ul) către /dev/null deoarece totul este scris pe acest „dispozitiv” este șters automat direct.

Ați putea ajuta cu asta?

Puncte:0
drapel cn

Suprimarea ieșirii de eroare

Mesajele de avertizare ale aplicațiilor, în exemplul dvs. „gthumb”, nu sunt trimise către ieșirea standard, ci către stderr. Puteți suprima aceste mesaje precum:

gio deschide imaginea-3.jpg 2>/dev/null

Un alias ca

alias open='gio open 2>/dev/null'

va lucra pentru a automatiza și acest aspect în aliasul dvs.

Suprimarea tuturor ieșirilor

Pentru a elimina toate ieșirile, redirecționați ambii descriptori de fișier 1 (stdout) și 2 (stderr) la /dev/null:

gio deschide imaginea-3.jpg 1>/dev/null 2>/dev/null

Următorul are același efect, dar vă permite să specificați ținta finală o singură dată:

gio deschide imaginea-3.jpg >>/dev/null 2>&1

stdout este redirecționat către /dev/null, și stderr la stdout, care a devenit /dev/null. 1 poate fi omis deoarece este ieșirea implicită.

Bash și alte shell-uri permit, de asemenea, această notație de scurtătură:

gio deschide imaginea-3.jpg &>/dev/null
Normal avatar
drapel ph
Mulțumesc, ce indică numărul 2? erori? mai sunt si alte numere?
vanadium avatar
drapel cn
2> înseamnă stderr
Normal avatar
drapel ph
cum să preveniți stderr și stdout în același timp?
vanadium avatar
drapel cn
Am adăugat detalii complete
Normal avatar
drapel ph
Mulțumesc @vanadium

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.