스크립트 내에서 스크립트의 출력을 리디렉션할 때 호출되는 스크립트와 그 안에서 호출되는 프로그램에 리디렉션이 적용되기를 원합니다.
ㅏ:
./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;
}