티스토리 뷰
이 파일은 null device file로 해당 파일에 어떠한 내용이 쓰여지든 버려진다.
이러한 특성으로 명령어 실행으로 나오는 출력이 나오게 하고 싶지 않을 때 사용한다.
간단한 예를 들면 다음과 같다.
echo 'Hello from JournalDev' > /dev/null
echo는 모니터로 출력을 하는데 위에서 처럼이 /dev/null로 redirection을 하게 되면 아무것도 출력이 되지 않는다. 그러면 에러 메시지도 안나오게 할 수 있을까?
myErrorCMD! > /dev/null
# output
# bash: myErrorCMD!: command not found
예상 밖으로 에러는 그대로 출력이된다. 이는 stdout만 redirection 했기 때문이다. 에러 메시지는 stderr 스트림으로 출력이 된다. 이를 반영해 다음과 같이 작성한다.
# stdout(표준 출력), stderr(표준에러 출력)를 모두 redirection
myErrorCMD! &>/dev/null
# output: nothing
이렇게 하면 모든 출력이 /dev/null 로 redirection 되면서 에러 메시지가 출력이 되지 않는다.
이 내용은 shell script 작성된 것을 보다보면 간간히 보이기 때문에 알아두면 좋을것 같다.
PS: docker container keep alive
여담으로 tail 명령어를 통해서 컨테이너를 유지시킬 수 있다. 이때 /dev/null을 통해서 아무것도 출력이 안되게 한다.
# background process 실행이 없는 컨테이너 유지 시 사용
docker run -d dimitri/pgloader:latest tail -F /dev/null
참고
https://stackoverflow.com/questions/637827/redirect-stderr-and-stdout-in-bash
'Linux' 카테고리의 다른 글
[Linux] Cannot retrieve metalink for repository: epel/x86_64. 해결 (0) | 2024.11.07 |
---|---|
[Linux] Disk Full 발생 시 해결 과정 (1) | 2024.02.08 |
[Linux] mount 실습 예제 (0) | 2023.01.15 |
[Linux] Disk partition 하기 (fdisk) (0) | 2023.01.15 |
[Linux] >, >>, <, | 간단한 예제 (0) | 2022.08.18 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 1종 적성검사 국가건강검진
- postgresql trigger
- postgresql 트리거
- 외래키 생성
- 외래키 삭제
- rest api 단건 다건
- unplugin-auto-import
- Oracle Database 19c install
- Oracle Database 19C 설치
- mariadb 외래키 조회
- oracle 19c 설치
- component auto import
- 스파르타 코딩클럽
- 강서 운전면허 시험장
- rest api 조회 생성 수정 삭제
- postgresql on update current_timestamp
- rest api crud
- postgresql 수정시간 자동 갱신
- 티스토리챌린지
- postgresql 외래키
- express crud
- 오블완
- 1종 적성검사 과태료
- 외래키 인덱스 생성 구문 쿼리
- vue 컴포넌트 자동 import
- 1종 적성검사 신체검사
- 1종 적성검사
- epel repo
- epel/x86_64
- vue 전역 컴포넌트 설정
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함