질문과 답변
윈 도 우 도스스크립트 질문 입니다..
2017.06.12 19:43
timeout 5 > nul 2>&1
timeout /t 5 >nul
두개 차이가 뭐고 위에껀 왜 저렇게 처리 할까요?
2017.06.12 19:43
timeout 5 > nul 2>&1
timeout /t 5 >nul
두개 차이가 뭐고 위에껀 왜 저렇게 처리 할까요?
1. timeout /t 5 1> nul 2>&1
2. timeout /t 5 1>nul
붉은색 글씨는 생략된 부분이라고 생각하시면 되겠습니다.
둘 다 timeout 명령어에 의해 5초간 기다리되 화면으로 출력하지 않는 명령어입니다.
공통되는 1> nul 부분은 표준 출력(1)을 nul로 리다이렉션 하기 때문에 화면에는 아무것도 표시되지 않습니다.
1번의 2>&1 부분은 표준 오류(2)를 표준 출력(1)으로 리다이렉션 하는데, 표준 출력이 nul로 리다이렉션 되었기 때문에
결과적으로 표준 출력과 표준 오류를 모두 nul로 리다이렉션 하게 됩니다.
..그러니까 차이점은 1번의 경우 정상 실행이 아닌 오류가 난 경우에도 아무 것도 표시하지 않지만,
2번의 경우 오류가 나면 화면에 메시지가 표시되게 됩니다.
timeout 명령어가 없는 윈도우 XP에서 각각의 명령어를 실행해보면 차이를 명확하게 알 수 있는데,
1번의 경우 화면에 아무것도 표시되지 않고 바로 종료되고
2번의 경우 화면에 오류 메시지가 표시되고 바로 종료됩니다.