我已经有了这个功能:
def run(id) do
{_, status} = System.cmd "osascript", ["#{File.cwd!}/lib/script/test.applescript"], arg0: id
{:ok, status}
end
我需要将id
传递给osascript
。相当的外壳是: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}"]
如何将id
传递给System.cmd "osascript", ["#{File.cwd!}/lib/script/test.applescript"]
?
似乎是一根字符串的是:
{_, status} = System.cmd "osascript", ["#{File.cwd!}/lib/script/test.applescript", "#{id}"]
工作正常。