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.txt
STDOUT
STDERR
답변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