スクリプト内でスクリプトの出力をリダイレクトするときに呼び出されるスクリプトと、その中で呼び出されるプログラムにリダイレクトを適用したいと思います。
ㅏ:
./B 2>> error.log
第二:
./executable
stdout
Aを実行しておよびに出力しますstderr
。私は代わりstderr
に行くことを望むerror.log
。明らかに私は間違っていた。
Aから呼び出すときにBの出力がリダイレクトされないのはなぜですか?
下付き文字(B)と実行可能ファイルの出力がAが試した方法でリダイレクトされるようにするにはどうすればよいですか?
実際のテストケースは次のとおりです。
redir.sh:
#!/bin/bash
./other_script.sh 2>> error.log
その他_スクリプト.sh:
#!/bin/bash
./redirection
redirection
redirection.c
以下でコンパイルされましたgcc -o redirection redirection.c
:
#include <stdio.h>
#define NB_LOOPS (10)
int main(void)
{
int i;
for (i = 0; i < NB_LOOPS; ++i) {
fprintf(stdout, "stdout %d\n", i);
fprintf(stderr, "stderr %d\n", i);
}
return 0;
}