2012-05-07 2 views
4

이것은 아마도 매우 바보 같은 질문 일 텐데 ... if [! -n "$ 1"]은 하나 이상의 인수가 아니라면 의미는 ... 그래서 어떻게 작동합니까? -n은 number의 약어입니까? 고급 bash 프로그래밍 가이드를 통해 읽었으며 사용하기 시작했습니다. 찾은 다음 "기본 제공"기본 매개 변수 여야합니다. 두 번째 질문은 표시 할 명령입니다. 기본 매개 변수는 Linux에 있습니다.Bash에서 -n 의미는 무엇입니까?

답변

8

test (aka [)의 인수는 "is not empty"를 의미합니다. $1이 비어 있지 않은 경우의 예는 당신은 "수단을 기록했다. 그것은 [ -z "$1" ];을 말하는 로터리 방법 ($1이 비어).

당신은 help test 더 배울 수 있습니다.

$1 등 ($2, $3을 ..) 위치 매개 변수입니다. 그들은 스크립트에 인수로 전달 된 어떤 것 또는 당신이있어 기능을 수행합니다. 예를 들어, ./foo bar bazfoo라는 이름의 스크립트를 실행하는 $1 == bar 초래, $2 == baz

+1

bash 맨 페이지에서도 볼 수 있습니다. '/ test'는 실제로 좋은 출발점입니다. – Aif

+0

@Aif 그냥 거기 찾고있었습니다 감사합니다. – UNECS

0

-n은 bash에서 표현식을 평가하기위한 문자열 연산자 중 하나입니다. 문자열이 옆에 있는지 확인하고 문자열이 비어 있지 않은 경우 "True"로 평가합니다.

위치 매개 변수 프로그램 명령 행 인자의 내용을 포함 특별한 변수 ($0, $1$9 통해)의 연속이다. $0에는 프로그램 이름이 포함되어 있고 other에는 전달 된 인수가 들어 있습니다. 여기

[ ! -n "$1" ]위치 매개 변수 ( $1)이 프로그램에 전달 두번째 경우 "true"가 인수가 $0 이외의 다른 프로그램에 전달되지 않은 경우 (즉) 또는이다.

관련 문제