为什么这个简单的AppleScript不起作用?

时间:2012-06-23 00:38:56

标签: macos bash shell alias osascript

我有一个Shell脚本,我需要在MacOSX 10.6.X上创建别名文件夹,所以我用以下代码调用osascript:

Source="/Volumes/Test Project/Folder/SubFolder"
Destination="/Volumes/Test Project/Dest/"

/usr/bin/osascript -e 'tell application "Finder" to make alias file to POSIX file "$Source" at POSIX file "$Destination"'

此代码返回:

  

29:103:执行错误:Finder收到错误:AppleEvent处理程序失败。 (-10000)

有没有人有解决方案?

2 个答案:

答案 0 :(得分:4)

shell不会在单引号字符串中替换变量(例如$Source)(例如整个AppleScript命令)。解决方案:在命令周围使用双引号(这意味着您需要使用反斜杠转义其中的双引号)。

/usr/bin/osascript -e "tell application \"Finder\" to make alias file to POSIX file \"$Source\" at POSIX file \"$Destination\""

答案 1 :(得分:3)

任何阻止您使用的原因:ln -s "$Source" "$Destination"