如何使用unix终端将已安装的dmg文件复制到另一个位置?

时间:2013-06-21 19:23:00

标签: macos bash unix dmg

我正在制作一个bash脚本,它会自动将Google Chrome下载并安装到运行OSX 10.7的MacBook Pro上的用户应用程序文件夹中。我能够从Google服务器成功下载并安装.dmg文件,但我无法从已安装的dmg中获取实际的Google Chrome.app文件。这是我写的:

#Download and Install Google Chrome browser

DMG='/mactest/googlechrome.dmg'
USER="Mac"

curl https://dl.google.com/chrome/mac/stable/GGRO/googlechrome.dmg > $DMG

hdiutil attach $DMG

cp -r '/Volumes/Google Chrome/*' '/Users/$USER/Applications'

hdiutil unmount '/Volumes/Google Chrome'
rm $DMG

运行此脚本后,除了此错误外,所有内容都按预期运行:

cp: /Volumes/Google Chrome/*: No such file or directory

任何想法?

1 个答案:

答案 0 :(得分:2)

您的错误是因为该文件夹中没有名为*的文件。单引号阻止shell评估*以查找匹配的文件名。请尝试其中之一:

cp -r '/Volumes/Google Chrome/Google Chrome.app' /Users/$USER/Applications

cp -r /Volumes/Google\ Chrome/Google\ Chrome.app /Users/$USER/Applications