▲GN⁺ 2023-11-24 | parent | ★ favorite | on: "테스트, [, 그리고 [[ (2020)" - 기술명칭 유지(jmmv.dev)Hacker News 의견 원 저자의 감사 인사 및 제목 수정 제안 원 저자가 글이 인기를 얻어서 감사하다는 인사를 전하며, 제목에 연도를 추가하고 "test" 단어의 대문자 사용을 지양할 것을 제안함. "test"가 실제 명령어를 의미하기 때문임. Bourne 쉘의 "test" 명령어 역사와 개인적 선호 Bourne 쉘이 IDE가 없던 시절에 만들어져 괄호나 대괄호 없이 "test" 명령어가 사용됐음을 설명. 개인적으로는 대괄호 형식보다 "test" 형식을 선호한다고 함. if 블록을 사용하지 않는 조건문의 예시 if 블록 없이 조건문을 간단하게 작성하는 방법을 소개하며, 디버그 출력을 조건부로 stderr에 출력하는 예시를 제시함. if 블록과 일반 명령어의 결합 사용법 if 블록이 일반 명령어를 테스트할 수 있음을 보여주며, 예를 들어 grep 명령어를 사용한 로그 검색의 예시를 듦. test 명령어의 논리 연산 사용에 대한 고민 test 명령어 내에서 논리 연산을 사용할지 별도의 조건문을 사용할지에 대한 고민을 표현함. 성능 문제가 없다면 양쪽 모두에 대해 타당한 이유가 있다고 함. "test" 명령어 사용의 이점과 "man test"의 편리함 몇 년 전부터 대괄호를 사용하지 않고 "test" 명령어를 사용하는 것이 좋다고 주장함. 이는 "test"가 단순한 명령어임을 강조하고, "man test"를 사용하는 것이 "man bash"를 찾는 것보다 편리함을 설명함. [와 test의 단일 인자 동작에 대한 주의 변수가 비어 있지 않은지 확인할 때 변수를 따옴표로 감싸지 않으면 예상치 못한 결과를 초래할 수 있음을 경고함. 변수를 따옴표로 감싸야 한다고 강조함. 리눅스와 NetBSD에서 /bin/[와 /bin/test의 차이점 리눅스에서는 /bin/[와 /bin/test가 다르지만 NetBSD에서는 같다는 사실을 공유함. test/[/[[에 대한 더 깊은 탐구와 쉘의 이상한 점들에 대한 블로그 링크 공유 test, [, [[에 대한 더 깊은 이해를 돕는 문서와 쉘의 다양한 특징을 설명하는 블로그 링크를 공유함. [[가 bash 전용임을 지적하고, bash 사용이 확실하다면 [[를 사용할 것을 권장 [[가 bash 전용 명령어임을 언급하며, bash를 사용할 때는 [[를 사용하는 것이 좋다고 조언함. [가 bash 스크립팅 언어의 일부가 아니라는 인식에 대한 혼란 [가 bash 스크립팅 언어의 일부가 아니라 단순한 프로그램임을 이해하는 데 혼란이 있었음을 표현하고, 이에 대한 설명을 요청함. 쉘에 대한 강한 의견과 [ 사용에 대한 반대 [를 사용하지 말고 "test"만 사용해야 한다는 강한 의견을 표현함. [가 언어의 문법처럼 보이지만 실제로는 프로그램이라는 점을 강조하며, 문자열 평가에는 case 문을 사용해야 한다고 주장함.
Hacker News 의견
원 저자의 감사 인사 및 제목 수정 제안
Bourne 쉘의 "test" 명령어 역사와 개인적 선호
if블록을 사용하지 않는 조건문의 예시if블록과 일반 명령어의 결합 사용법test명령어의 논리 연산 사용에 대한 고민"test" 명령어 사용의 이점과 "man test"의 편리함
[와test의 단일 인자 동작에 대한 주의리눅스와 NetBSD에서
/bin/[와/bin/test의 차이점test/[/[[에 대한 더 깊은 탐구와 쉘의 이상한 점들에 대한 블로그 링크 공유[[가 bash 전용임을 지적하고, bash 사용이 확실하다면[[를 사용할 것을 권장[가 bash 스크립팅 언어의 일부가 아니라는 인식에 대한 혼란쉘에 대한 강한 의견과
[사용에 대한 반대