표준 오류 및 출력을 생성하는 명령

표준 오류 및 출력을 생성하는 명령

Bash 스크립트에 대한 문제 해결을 수행하고 싶습니다. 이 두 가지를 생성 stdout하여 stderr사용할 수 있는 짧은 명령이 있습니까 2>&1? 사소해 보인다면 죄송합니다. 하지만 지금은 생각나는 것이 없습니다.

답변1

간단한 방법은 다음을 ls사용하여 실제 파일과 가상 파일을 나열하는 것입니다.

ls . *.blah

이는 다음과 같이 가정합니다.작업 디렉토리에 보이는 파일과아니요1로 끝나는 파일이 있어요.blah


1. ...당신이 이런 짓을 해도 우리는 당신을 판단하지 않을 것입니다.

답변2

stdout다음 으로 보내는 stderr서브쉘을 작성하세요 .

(echo STDOUT && echo STDERR >&2) 

그것이 작동한다는 것을 증명하려면:

(echo STDOUT && echo STDERR >&2) > STDOUT.txt 2> STDERR.txt

STDOUT.txt그러면 각각 및라는 단어가 포함된 파일이 생성됩니다 .STDERR.txtSTDOUTSTDERR

답변3

ls / /x
df / /x
wc / /etc/passwd
od / /dev/null

표준 출력에 쓰기 보장앞으로표준 에러:

(w;/) # Bourne/csh like shells only.
sh -c 'w;/'
'time' w

답변4

나중에 사용하기 위해 함수를 작성할 수 있습니다.

gen_stdout_stderr() {                                                           
    printf "%s\n" "STDERR" >&2                                                  
    printf "%s\n" "STDOUT"                                                      
}

그 다음에:

$ gen_stdout_stderr 
STDERR
STDOUT

관련 정보