표현식 테스트 - 메시지 사용 [닫기]

표현식 테스트 - 메시지 사용 [닫기]

사용법 메시지가 포함된 테스트 표현식을 찾고 있습니다. 명령줄에 파일(예: ./file)을 입력할 때 중지하고 오류를 표시하는 스크립트가 필요합니다. ./file test를 입력할 때 파일을 실행하고 file을 입력해야 합니다. 테스트를 사용하여 메시지를 표현하는 데 어려움을 겪습니다. 지금까지 이것이 있고 내가 원하는 대로 작동하지만 파일을 입력하기 위해 ./file 테스트가 실제로 입력되고 있는지 확인하고 확인해야 합니다. 명령을 올바르게 입력하지 않으면 오류가 발생하고 종료됩니다.

   if [$# -eq 0 ]
      then
           echo"error"
      exit 1
   fi

답변1

[그것은 명령이 [$#아닙니다. 명령과 인수를 분리해야 합니다.

if [ $# -eq 0 ]; then
    echo "error"   # Here, too
    exit 1
fi

그런데 전체 블록을 특수 매개변수 확장으로 대체할 수 있습니다.

: ${1?error}

첫 번째 위치 인수가 설정되지 않은 경우(즉, 위치 인수가 없는 경우) ? 뒤에 메시지가 인쇄됩니다. 그리고 나가세요.

관련 정보