Mac命令批处理找不到文件

问题描述 投票:0回答:1

好吧,我得到了一个运行正常的mac os命令

security import "/Users/xxx/Documents/AppCompiler/temp/CordovaBuildFiles/Certificates/IOSRelease/ios_Production.p12" -k "$KEYCHAIN" -P "PASSWORD" -A

但是,如果我想通过将P12存储到变量中使其更具动态性,它将失败,并显示'无此类文件或目录文件ios_Production.p12'

CERT="/Users/xxx/Documents/AppCompiler/temp/CordovaBuildFiles/Certificates/IOSRelease/ios_Production.p12" 
security import "$CERT" -k "$KEYCHAIN" -P "$PASSWORD" -A

我也曾尝试设置$ CERT =“ ios_Production.p12”并在调用之前移至该文件夹。

任何人都可以就可能导致这种情况的发生分享任何看法吗?

**更新为Mark Setchell指出了代码错误-感谢原文中的mark。我还更改了存储文件夹。

返回的完整错误是:安全性:读取文件/ Users / xxx / Documents / AppCompiler / temp / Cordov中的错误:没有此类文件或目录SRelease / ios_Production.p12

进一步更新,现在可以正常运行,但是我不明白为什么?

确定,我决定将ios_Production.p12移到Documents文件夹中,并且可以正常工作,所以我创建了另一条CERT行,然后逐个文件夹地将它们添加回去,出于某种原因,我现在对此感到困惑,现在可以正常工作。下面是两行:

cert =“ / Users / xxx / Documents / AppCompiler / temp / CordovaBuildFiles / Certificates / IOSRelease / ios_Production.p12”

cert =“ / Users / xxx / Documents / AppCompiler / temp / CordovaBuildFiles / Certificates / IOSRelease / ios_Production.p12”

您会以为您是100%的人而认为您看到了双重,这是可以原谅的,我已经在差异检查器中对它们进行了比较,但是取决于注释掉的那一行取决于导入是否有效。我真的希望这对某人有意义,因为我要在这里秃顶...

bash macos osx-yosemite macos-catalina
1个回答
1
投票
CERT="/Users/xxx/Documents/AppCompiler/keys/prod/prodx.p12" security import "$CERT" -k "$KEYCHAIN" -P "$PASSWORD" -A

语法是这样的。如果您设置了一个shell变量,请在没有美元且没有空格的情况下执行此操作:

variable="..."

如果访问变量的内容,请用双引号引起来并使用美元:

echo "$variable"

并且,通常,避免使用大写字母组成的变量名称,以确保不与内置变量冲突,因此,您的CERT应该确实是cert,但这在这里并不重要。

© www.soinside.com 2019 - 2024. All rights reserved.