[Linux/BASH] Stdout redirecten naar stdout & stderr?

Pagina: 1
Acties:

  • arnova
  • Registratie: Augustus 2001
  • Laatst online: 16:43

arnova

weet veel, maar niet alles

Topicstarter
Ik ben met een scriptje bezig waar ik graag bepaalde output (stdout) zou willen redirecten naar stdout EN stderr cq. ik wil dat het naar zowel &1 als &2 wordt gestuurd. Dus zoiets als "echo "Hallo" >&1,&2". Weet iemand hoe je dit "netjes" voor elkaar krijgt (alle echt ranzige hacks kan ik zelf namelijk ook wel verzinnen)...?

Ctrl4Dkn: ESP32 (Floor) Heat Controller With Daikin (Heatpump) Support - https://github.com/arnova/ctrl4dkn


  • zomertje
  • Registratie: Januari 2000
  • Laatst online: 03-02 16:28

zomertje

Barisax knorretje

http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html

Makkelijk via een kleine zoekactie met Google te vinden, dus ik vraag me zachtjes af of je de grote zoekpruttelprrrrrt wel gebruikt hebt voordat je hier je vraag stelde :) Vraag het de volgende keer eerst eens aan het grote boze alwetende internet :)

Edit:
Blijkbaar las ik het even verkeerd en wil je allebei. Ik laat hem dus maar even open.
Ik vraag me af of het kan zonder tussenliggend wat op te slaan oid.

Misschien kun je nog even uitleggen waarom je het zo wil, dan is misschien een andere oplossing meer voor de hand liggend.

[ Voor 31% gewijzigd door zomertje op 20-10-2006 22:12 ]

het ultieme jaargetijde.... | #!/usr/bin/girl | Art prints and fun


Verwijderd

Je zal iets moeten proberen met $(echo $var >&1 && echo $var >&2) of $(echo $var >&1; echo $var >&2).

  • GX
  • Registratie: Augustus 2000
  • Laatst online: 14-05-2025

GX

Nee.

Als je het doet om 1 te outputten en de ander te loggen kan je beter iets als Tee gebruiken. Los daarvan zou ik niet willen denken waarom je zoiets wilt

  • woest85
  • Registratie: Juli 2003
  • Niet online

woest85

[Ondertitel]

echo $var 1>$stdout 2>$stderr

zou moeten werken geloof ik...

[Signature]


  • cherwin
  • Registratie: Maart 2006
  • Niet online
echo "Hallo" &> file

Tell me your problem, not the solution you think I should build for you.


  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 18:29

odysseus

Debian GNU/Linux Sid

Andere optie:
code:
1
echo "Hallo" > test 2>&1

Met het laatste geef je aan dat stderr naar stdout 'gelinkt' moet worden :). In scripts kan dat soms handiger zijn dan de methode van cherwin (die in het dagelijks gebruik wel weer handiger is).

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


  • arnova
  • Registratie: Augustus 2001
  • Laatst online: 16:43

arnova

weet veel, maar niet alles

Topicstarter
GX schreef op vrijdag 20 oktober 2006 @ 22:40:
Als je het doet om 1 te outputten en de ander te loggen kan je beter iets als Tee gebruiken. Los daarvan zou ik niet willen denken waarom je zoiets wilt
Naar TEE had ik al gekeken maar die kan natuurlijk alleen naar stdou + een file schrijven dus daar heb ik niks aan...

Ctrl4Dkn: ESP32 (Floor) Heat Controller With Daikin (Heatpump) Support - https://github.com/arnova/ctrl4dkn


  • arnova
  • Registratie: Augustus 2001
  • Laatst online: 16:43

arnova

weet veel, maar niet alles

Topicstarter
odysseus schreef op zaterdag 21 oktober 2006 @ 11:28:
Andere optie:
code:
1
echo "Hallo" > test 2>&1

Met het laatste geef je aan dat stderr naar stdout 'gelinkt' moet worden :). In scripts kan dat soms handiger zijn dan de methode van cherwin (die in het dagelijks gebruik wel weer handiger is).
Ja, dat zou kunnen, maar via files ed. had ik zelf ook al bedacht. Ik wil het dus proberen te doen zonder dat je een file nodig hebt (dus met pipes,variabelen etc.). Ik zal even uitleggen waarvoor Ik heb namelijk een backup scriptje en daarin worden diverse binaries aangeroepen waarvan ik de stderr wil sturen naar stderr EN stdout (ik had het in mijn start post verkeerd uitgelegd, maar het principe is hetzelfde).... Probleem is namelijk ook dat wanneer je de stderr/stdout zou opslaan in een variable dat je maar beperkte environment-space hebt dus dat is eigenlijk ook geen goede optie.

[ Voor 9% gewijzigd door arnova op 21-10-2006 12:05 ]

Ctrl4Dkn: ESP32 (Floor) Heat Controller With Daikin (Heatpump) Support - https://github.com/arnova/ctrl4dkn


Verwijderd

master_artech schreef op zaterdag 21 oktober 2006 @ 11:59:
[...]


Naar TEE had ik al gekeken maar die kan natuurlijk alleen naar stdou + een file schrijven dus daar heb ik niks aan...
Alles is een file in unix. Ook stdout/stderr
En het is tee (case sensitive).

  • arnova
  • Registratie: Augustus 2001
  • Laatst online: 16:43

arnova

weet veel, maar niet alles

Topicstarter
Verwijderd schreef op zaterdag 21 oktober 2006 @ 12:46:
[...]


Alles is een file in unix. Ook stdout/stderr
En het is tee (case sensitive).
Dat alles een "file" is onder Unix dat weet ik ja, alleen zijn stdout/stderr geen fysieke files, waardoor access naar die dingen sneller is en het gebruik makkelijker is....

ps. Dat tee case sensitive is dat wist ik (uiteraard), ik had het met hoofdletters geschreven puur voor de duidelijkheid al had ik beter 'tee' op kunnen schrijven....

Ctrl4Dkn: ESP32 (Floor) Heat Controller With Daikin (Heatpump) Support - https://github.com/arnova/ctrl4dkn


  • JackBol
  • Registratie: Maart 2000
  • Niet online

JackBol

Security is not an option!

master_artech schreef op zaterdag 21 oktober 2006 @ 20:47:
[...]


Dat alles een "file" is onder Unix dat weet ik ja, alleen zijn stdout/stderr geen fysieke files, waardoor access naar die dingen sneller is en het gebruik makkelijker is....
??


echo bla 2>&1 | tee /proc/$$/fd/2

De actuele opbrengst van mijn Tibber Homevolt

Pagina: 1