如何文本匹配codesign中的特定行以检查其签名是否正确

How to text match the specific line in codesign so as to check whether its signed correctly or not

我想在终端中检查某个特定的 Mac 应用程序是否已由我的证书颁发机构进行了联合签名。

为此,我有这段代码,但出于某种原因,我得到了整个代码设计输出和最后的 1。

codesign -dvv --deep MayApp.app | grep "Authority=Mac Developer: My Certificate (5JFD6LWV27)"
if [ $? -eq 0 ]; then
    echo "App has been signed successfully by my cert!"
else
    echo "App is not signed correctly!"
fi

非常感谢任何帮助。

谢谢!

您的 codesign 很可能是在 stderr 上写入。

您可以通过此代码段将 stdout/stderr 管道化到 grep:

if codesign -dvv --deep MayApp.app 2>&1 | grep -qF "Authority=Mac Developer: My Certificate (5JFD6LWV27)"
then
   echo "App has been signed successfully by my cert!"
else
   echo "App is not signed correctly!"
fi