hdiutil在终端窗口中工作但不在shell脚本中工作

时间:2013-09-29 23:41:56

标签: macos bash shell unix terminal

我正在使用hdiutil来安装sparseimage文件,当我在终端输入命令时它工作正常但是当我尝试将它作为shell脚本运行时它会出错。

以下是代码:

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

这是错误:

hdiutil: attach failed - Authentication error

我确信密码是正确的。有谁能告诉我出了什么问题?

1 个答案:

答案 0 :(得分:7)

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测试版,请确保使用最新版本和10.8进行测试。我只提出这个问题,因为我在10.9的早期版本中遇到了一些与STDIN相关的错误。