我正在使用hdiutil挂载sparseimage文件,当我在终端中键入命令时,它运行良好,但是当我尝试将其作为shell脚本运行时,它给出了错误。

这是代码:

echo -n 'password' | hdiutil attach -stdinpass file.sparseimage

这是错误:
hdiutil: attach failed - Authentication error

我确定密码正确。谁能告诉我这是怎么回事?

最佳答案

hdiutil文档的示例部分建议为此使用printf而不是echo -n

 Creating an encrypted single-partition image without user interaction:
       printf pp|hdiutil create -encryption -stdinpass -size 9m sp.dmg

如果要针对10.9 Beta进行测试,请确保同时使用最新版本和10.8进行测试。我之所以提出这一点,是因为我在10.9的早期版本中遇到了一些与STDIN相关的错误。

关于macos - hdiutil在终端窗口中工作,但不在 shell 程序脚本中工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19084579/

10-13 02:29