Имам две програми: p1 и p2. Пускам p1 | p2. Знам как да четат stdout от p1 в p2 stdin. Как мога да направя същото и със Stderr.
Благодаря, Никола
Отговори:
3 за отговор № 1Тръба (|
) в повечето (или всички) черупки отнема стойността на командата и я предава на втората команда.
Следователно приемането на stderr от първата команда може да стане само на командния ред. В Баш ще го направите по следния начин:
p1 2>&1 | p2
Това казва на bash да предава stderr на stdout. И двата вида се пренасочват към р2.
Като алтернатива можете да направите p1 отпечатване на всичко само за stdout.