bash: -q: 명령을 찾을 수 없습니다

bash: -q: 명령을 찾을 수 없습니다

Ubuntu 16.04 파티션에 일부 소프트웨어 도구를 설치하려고 합니다. 설치 스크립트가 여기에서 약간 중단됩니다.

getInstalledLegacyPXIRMPackage() {
    part=`$RPM -q $kLegacyPXIRMBaseName`
    if [ $? -eq 0 ]; then
        echo $part
        return
    fi
    echo ""
}

내가 받은 오류 메시지는 입니다 bash: -q: command not found.

이는 labview 2012 32비트 버전용 설치 파일의 일부입니다.

이 오류는 무엇입니까? 문제를 해결하려면 어떻게 해야 하나요? 감사해요!

편집: 네, 죄송합니다. 기술적으로는 func 정의를 위반하지 않습니다. 여기에서 호출하면 중단됩니다.

if [ "$(getInstalledLegacyPXIRMPackage)" != "" ] && [ "$(getIncludedPXIPSPackage)" == "" ]; then
.
.
.
fi

답변1

RPM이 오류는 함수를 실행할 때 변수가 비어 있거나 정의되지 않았기 때문에 발생합니다 getInstalledLegacyPXIRMPackage.

비어 있거나 정의되지 않은 경우 $RPM해당 줄은

part=`$RPM -q $kLegacyPXIRMBaseName`

명령의 결과로 해석될 할당입니다 -q $kLegacyPXIRMBaseName.

RPM( 및 kLegacyPXIRMBaseName).

관련 정보