2017-09-04 75 views
1

我有了這個功能:使用System.cmd運行AppleScript的

def run(id) do 
    {_, status} = System.cmd "osascript", ["#{File.cwd!}/lib/script/test.applescript"], arg0: id 
    {:ok, status} 
end 

我需要傳遞給idosascript。等效殼牌號爲:osascript ~/lib/script/test.applescript 1,但我無法在Elixir中找到正確的選項。一切都將返回一個參數錯誤,我是否做:

System.cmd "osascript", ["#{File.cwd!}/lib/script/test.applescript"], arg0: id 

System.cmd "osascript", ["#{File.cwd!}/lib/script/test.applescript"], id 

System.cmd "osascript", ["#{File.cwd!}/lib/script/test.applescript", id] 

System.cmd "osascript", ["#{File.cwd!}/lib/script/test.applescript #{id}"] 

如何傳遞idSystem.cmd "osascript", ["#{File.cwd!}/lib/script/test.applescript"]

回答

2

好像它得是一個字符串都是:

{_, status} = System.cmd "osascript", ["#{File.cwd!}/lib/script/test.applescript", "#{id}"] 

工作正常。