/ usr / bin / [은 무엇입니까?


21

방금 / usr / bin에서 파고 들었고라는 ELF 이진 파일을 찾았습니다 [. /usr/bin/[. 나는이 파일에 대해 들어 본 적이 없으며, 처음에는 프로그램, 아마도 트로이 목마를 숨기는 영리한 방법이라고 생각했습니다. 그러나 모든 CentOS 서버에 있으며 수동으로 입력하지 않은 것 같습니다. 나는 그것이 무엇인지 추측 할 수는 있지만 더 권위있는 답변을 찾고있었습니다 ...

답변:


23

'test'명령의 대체 형식입니다. 스크립트에서 주로 사용됩니다.

if [ $VAR ]
then
    echo $VAR exists!
fi

3
그러나 테스트와는 달리 마지막 인수는]이어야합니다.
Florian Diesch

4
[ 이다 bash는 내장,하지만 너무입니다 test. 그들 중 많은에서 - 모든 쉘은 평등하게 창조 test(과 [) 내장 매크로는 없습니다.
Mo.

2
bash가 내장되어 있거나 적어도 내 시스템이있는 것처럼 작동합니다. [--help는 / usr / bin /과는 다른 입력을 제공합니다. [--help
Matt Simmons

3
test와 [는 bash에 내장되어 있지만 반드시 다른 쉘은 아닙니다. 일시적으로 경로를 벗어나서 하나를 사용하는 bash 스크립트를 실행할 수 있으며 스크립트가 여전히 작동 함을 알 수 있습니다.
Zoredache

3
@Josh : 다른 밀레니엄 시대에 Bourne 쉘에는 테스트 연산자가 내장되어 있지 않았습니다. 이는 다른 것과 마찬가지로 일반적인 명령이었습니다. / bin / test는 표기법의 편의를 위해 / bin / [에 연결되었습니다.
Jonathan Leffler

8

당신이 뭔가를 사용할 때 당신이 부르는 것입니다

if [ -e foo ]; then ...

쉘 스크립트에서 (그러나 대부분의 쉘은 요즘 빌드 인으로 가지고 있습니다). 남자 테스트 는 당신에게 문서를 제공해야합니다.


나는 당신의 대답을 받아 들일 것이지만 Zypher는 몇 초간 당신을 이겼습니다 ... 죄송합니다 :-)
Josh

2

다른 사람들이 지적했듯이 [쉘의 상태 평가 유틸리티-테스트입니다.

실제로, 매뉴얼 페이지가 있습니다!

$ 남자 [

여는 대괄호에 대한 자세한 정보를 제공해야합니다.

BTW, OS X에, [에 위치하고 있습니다 /bin/[:)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.