이것을 읽는 방법?
if [ $# -lt 1 ]; then
print_package_file_error_and_exit "No package-file specified."
fi
readonly package_file="$1"
답변1
첫 번째다음 형식의 "if 문"이 있습니다.
if COMMAND_1; then
COMMAND_2
fi
COMMAND_1
실행이 성공하면(0을 반환) 실행하도록 쉘에 지시합니다 COMMAND_2
.
COMMAND_1
이 예에서는 다음과 같이 괄호를 사용하여 작성된 명령 [ $# -lt 1 ]
입니다 .test
test $# -lt 1
test $# -lt 1
$#
(이 스크립트에 전달된 인수의 수)가 ( ) 1보다 작으면 0이 반환되므로 이 경우 -lt
실행이 발생합니다 .COMMAND_2
print_package_file_error_and_exit "No package-file specified."
print_package_file_error_and_exit
분명히 시스템에 설치해야 하는 애플리케이션이지만 bashrc
스크립트나 소스 파일(예: 사용자 파일)의 다른 위치에 정의된 셸 함수일 가능성이 더 높습니다. 이름을 보면 전달된 메시지(이 경우 "No package-file specified."
: )를 인쇄한 다음 스크립트를 종료할 것이라고 추측할 수 있습니다.
두번째package_file
읽기 전용(한 번 값이 설정되면 변경할 수 없음)이라는 변수를 정의하고 스크립트에 전달된 첫 번째 인수의 값으로 설정합니다( $1
).