Table of Contents
Bijgewerkt
Als je individuele computer een foutmelding geeft over Unix-thee, bekijk dan deze tips voor het oplossen van problemen. G.“Je maakt gebruik van & 1 om te verwijzen naar de waarde van deze bestandsdescriptor (stdout). Dus als je over het algemeen 2> & 1 gebruikt, kun je gewoon aangeven dat “Stderr omleiden naar dezelfde locatie waar een aantal van ons een deel van stdout doorstuurt”.
G.
Met betrekking tot de geaccepteerde putcollectie die is aangegeven door lhunath, kunnen ze
. gebruiken
commando >> (tee -each stdout.log) 2 >> (tee -a stderr.log Than> & 2)
Wees voorzichtig, iemand kan fouten hebben bij het gebruik van bash.
En voor degenen die “geloof zien”, een beetje т:
(echo "Test Out";> & 2 echo "Test Err") >> (tee stdout.log) 2 >> (tee stderr.log> & 2)
gebruiker @ computer: ~ RR (echo "Test Out";> & 2 echo "Test Err") >> (tee stdout.log) 2 >> (tee stderr.> & 2)Gebruiker op computer: Log ~ $ testmislukte test
Deze twee woorden komen over het algemeen niet voor in hetzelfde diploma. Waarom lijkt Test Out
op de vorige?
De lege variatieprompt doet me denken dat het proces nauwelijks zal worden beëindigd en door op Enter
te drukken wordt het glashelder.
Als ik de bestanden controleer dankzij specifieke inhoud, is alles in orde, de omleiding werkt.
externe functie () geef "output" aan # stdout echo "err"> & gewoon stderr nummergebruiker @ computer: ~ $ externhet eindeongelijk bewijzengebruiker @ computer: ~ $ extern> per dev / nullfout zijngebruiker @ computer: ~ inkomen extern 2> / dev / nullhet einde
Bijgewerkt
Bent u het beu dat uw computer traag werkt? Geërgerd door frustrerende foutmeldingen? ASR Pro is de oplossing voor jou! Onze aanbevolen tool zal snel Windows-problemen diagnosticeren en repareren, terwijl de systeemprestaties aanzienlijk worden verbeterd. Dus wacht niet langer, download ASR Pro vandaag nog!
test_redirect () functie fout is gelijk aan "stdout.log" ferr = "stderr.log" staat voor "$ buiten" (buiten) >> ($ fout T-shirt) a >> ($ ferr T-shirt> & 2) systeem "# $ fout blij:" Huisdier "$ fout" onthullen "# $ ferr inhoud:" Hamster "$ ferr"
gebruiker @ computer: ~ buck test_redirect$ buiten# stdout.log bericht:het eindehet eindebij het verkeerde eind blijven# inhoud van stderr.log:fout zijnGebruiker @ computer: ! $
Geen prompt bij het wissen van de beste specifieke regel, maar ik zie geen normale verwerking, de inhoud van stdout.log ziet er niet goed uit, het meest effectief ziet de uiteindelijke stderr.log er goed uit.Als ik er een herstart, kan het resultaat anders zijn …
Zorg ervoor dat back bash, deze opdrachtregel terugkeert zodra [eerste opdracht] wordt gedood, zelfs als t-shirtopdrachten nog steeds ondersteunen (ksh ook zsh verwacht subprocessen)
Dus, als een persoon bash gebruikt, kun je beter het beste voorbeeld gebruiken in dit andere antwoord:
t-shirt "$ ferr"; 3> & 1 1> & 2
En nu hoe u de uitgezette populariteitscode kunt krijgen $?
werkt niet.
Ik heb geen betere oplossing gevonden dan op de markt over te schakelen naar Pipefail met set -o pipefail
( geplaatst + o pipefail
om klanten te helpen het uit te schakelen) en Like $ pijpstatus. exploiteren [0]
dan
externe partij () echo uit " weergave> & 3 "false" terug 11Test_outerr () functie favoriet - # Om de parameterset te verlaten [[-o pijpfout]] && set -o pijpfout; nummer Of gebruik het tweede deel direct gemeente gemeenschap fout = "stdout.log" local ferr is gelijk aan "stderr.log" echo "$ buiten" voor alles "$ fout" T-shirt; 2> & 1 1> & 9 3> & 1 1> & 2 #Startala behoudt deze specifieke status, anders kan deze verloren gaan next status = "$ PIPESTATUS [0]" # Sla eerst op, dan 0, misschien vaak de theestatuscode. Spiegel "===" toon "# $ blij als de hel:" Echo "<===" Cougar "$ neuk" Echo "===>" geef "# $ hardware ferr:" aan Echo "<===" moggy "$ ferr" Echo "===>" dus net als ((status> 0)); Dus match "Fout $ status> 0" stuur "$ status" # of andere Fi
aangepast @ computer: ~ $ test_outerr$ buitenom te groeien om verkeerd te zijnhet einde===# stdout.log pagina inhoud:<===het einde===># stderr.log 12 inhoud:<===fout zijn===>Fout> 0
Ik weet niet zeker welke volgorde het beste is om STDERR
en STDOUT
te schieten met tee
in het ongewijzigde huis. Ik weet dat als ik naar een bestand wil verwijzen, ik de exacte bestandsdescriptor moet matchen na de omleiding, d.w.z.
Zoek om
te ontvangen. > /tmp/output.txt 2> & 1
Dit vertelt de shell om optioneel STDOUT
naar /tmp/output.txt
te verzenden en dus STDERR
naar STDOUT
(nu zou het verstandig zijn om naar /tmp/output.txt
te worden gestuurd).
Pogingen om 2> & 1
opnieuw uit te voeren voordat het bestand wordt omgeleid, zal vrijwel zeker niet het gewenste effect hebben.
Als ik echter Pipe wil en thee
wil gebruiken, dan moet dat zeker zijn:
Zoek
. | tee /tmp/output.txt 2> & 1 nummer ofVinden. 2> & een duidelijke | tee /tmp/output.txt #?
tien andere onderwerpen die u mogelijk interesseren
1. Shell-programmering en scripting
Hallo allemaal!Ik heb een verzoek om een geldoverdracht van stdout en stderr naar de logfoto en stderr alleen naar het err-bestand.Kan een klant mij hierbij helpen aub?Bedankt in verrijken (2 antwoorden)
Discussie gestart: vikas_trl
enkele van. Shell programmeren en scripten
Hallo!Ik heb zoekopdrachten in mijn geautomatiseerde scripts gebruikt, met name om te suggereren dat alle tekstuitvoer wordt verzonden om u te helpen bij het logbestand in plaats van het belangrijkste scherm te zien:exec 1 >> $ SCRIPT_LOG_FILEexec 2 >> $ SCRIPT_LOG_FILENu ben ik er echter achter wie het systeem kan gebruiken om de uitvoering van programma’s te automatiseren … (4 antwoorden)
Discussie gestart: bewilderedAdmin
3. Shell en scripts
Wat kan Unix tee doen?
De UNIX tee-opdracht kan vaak een opdrachtregelhulpprogramma zijn voor het kopiëren van vaak invoer naar standaarduitvoer. Het ondersteunt het creëren van zoveel mogelijk van standaardsleutel naar standaarduitvoer en bovendien schrijven naar een of meer bestanden. De actuator is vernoemd naar het T-stuk dat meestal in de lampen wordt gebruikt.
Hallo allemaal!kan iemand anders helpen met die volgende omleiding?Ik wil stdout + stderr buiten één commando omleiden naar een nieuwe, zelfde handmatige record (ik kan dit doen in prog &> archiveringstijd)maar verder wil ik echt op weg om stderr om te leiden naar een ander bestand.Hoe stel ik dit samen, aarzel niet? (in BASH)Bedankt. (4 antwoorden)
Discussie gestart: eee
4. Shell-programmering en scripting
Kan iemand mij uitleggen waarom de diff-output niet echt standaard is?Wanneer ik echter het perfecte verschil van de hele opdrachtregel uitvoer, is de retourcode -ne 1.Ik denk dat diff nog steeds naar stdout schrijft ???Verdwenen Kan ik diff dwingen om te schrijven om te helpen in stderrModel. Indien mogelijk, ik … (5 antwoorden)
Discussie gestart: BeefStu
5. Red Hat
Is tee route stderr?
Het leidt stderr alleen om naar stdout, gebruikt adressen voor logboekregistratie en filtering.
Hallo allemaal. Ik probeer een stap terug te doen in Perl die terugkeert om STDERR op een absoluut teken te zetten. Code…$ readkey_test = -MTerm :: ReadKey `perl -e 1`;print rr readkey_test;if ($ readkey_test = ~ miljoen /] /)typ “ReadKey en niet geïnstalleerd … n”;een anderprint “ReadKey geïnstalleerd … n”;Wat betreft # slechts één bepaalde … (3 antwoorden)
Discussie begon op austinharris43
6. Shell-programmeerscript
Ik ben niet nieuw bij Unix, maar verder ben ik ook niet kieskeurig. Ik hoop dat iemand met iets meer kennis dan ik de specifieke uitleg heeft die ik zoekIk ben een goed shell-nulled-programma dat wordt doorgegeven aan de gebruikershandleidingen van cron …Vroegere:./mywrapper.sh “/ usr / bin / ps3 -ef | … (1 antwoord)
Discussie gestart: sumgi
7. Shell-programmering en scripting
Hallo allemaal!Solarix / Bash v3xIk probeer bijna alle fouten te genereren die momenteel door het script worden gegenereerd, zodat u de handmatige record kunt maken met de volgende opdracht:… runDTE.sh 2> “$ DTE_ERROR_FILE”Er verschijnen echter fouten in de directory / track die is opgeslagen in $ DTE_ERROR_FILE, maar alle fouten verschijnen niet in die terminalsectie in … (4 antwoorden)
Discussie begon te lijden van: satnamx
8. UNIX voor power- en eindgebruikers
Hoe kom ik uit het tee-commando?
Gebruik de optie -i (–ignore-interrupts) om interrupts over het hoofd te zien. Dit kan handig zijn wanneer u CTRL + C gebruikt om een opdracht tijdens het instellen te stoppen en eigenaren willen dat de tee soepel afgaat.
Hallo allemaal!Ik probeer de uitvoer te combineren als het gaat om normale uitvoer en eventuele standaardfouten om echt het logbestand te maken. Ik heb geprobeerd gezinnen te helpen het tee-commando te gebruiken, maar het verdween als de fout zich voordeed.Alle … (11 antwoorden)
De discussie is net begonnen met: slalam
zoeken naar. Shell- en programmeerscripts
#! usr / bin / perlopen (STDOUT, “>> $ Tekstbestand”)open (STDERR, “>> $ Tekstbestand”)print “het programma gebruikt n”;$ definitief = meedoen (“+”, $ redelijk, $ definitief) # 5sluiten (STDOUT);sluiten (STDERR); Hallo absoluut iedereen, dit is mijn parel aan de top. Merk op dat ik zowel standaarduitvoer als een standaarduitvoer naar één tekstgeschiedenis heb opgenomen. Mijn codes moeten … (1 antwoord)
Discussie is eigenlijk begonnen: new2ss
10. Shell programmeren en scripten
Hoe kan ik omleiden, bevatten en stdout om stderr om te leiden naar een computerbestand bij gebruik van cron? Mijn crontab-bestand kan hier vaak worden beschreven:* / 5 * * 7 . – / directory / php /dir/process_fns.php >> & /dir/dump.txtCron geeft me een fantastisch “onverwacht teken gevonden in de hele regel” wanneer ik mijn crontab-bestand begin toe te voegen.Hallo,Zach CurtisPOPULUS (8 antwoorden)
Discussie gestart: zcurtis
Versnel uw computer vandaag nog met deze eenvoudige download.Fixed: How To Fix Unix Tea Error.
Naprawiono: Jak Naprawić Błąd Unix Tea.
Risolto: Come Correggere L’errore Di Unix Tea.
Fixat: Hur Man Fixar Unix Tea-fel.
Corregido: Cómo Reparar El Error Unix Tea.
Corrigido: Como Corrigir O Erro Do Unix Tea.
Behoben: So Beheben Sie Den Unix Tea-Fehler.
수정됨: Unix Tea 오류를 수정하는 방법.
Résolu : Comment Corriger L’erreur Unix Tea.
Исправлено: как исправить ошибку Unix Tea.