【问题标题】:OSX Lion Dashboard Widget :: How to execute a shell scriptOSX Lion Dashboard Widget :: 如何执行 shell 脚本
【发布时间】:2012-05-20 04:13:01
【问题描述】:

我的(第一个)OSX Lion 小部件中有这个。

var test = widget.system("/Users/Me/testscript",null);

test.outputString 是未定义的并且 test.errorString 是某事。像这样

DashboardClient[xxxxx:xxx] *** NSTask: Task create for path '/Users/Me/testscript' 
failed: 22, "Invalid argument". Terminating temporary process.

testscript 只包含一个echo "here"

据我通过谷歌了解... NSTask 以某种方式包装了我的调用,它需要一个实际的可执行二进制文件。 但是,有没有办法直接在小部件中执行这个 bash 脚本可执行文件?

【问题讨论】:

  • 你的脚本有 hashbang 吗?第一行应该是#!/bin/bash 或类似的。
  • 不,不会,会尝试
  • 哇哦!谢谢jimw,如果您愿意,可以将其作为答案

标签: macos widget execute dashboard


【解决方案1】:

为了让 shell 脚本像二进制文件一样被调用,它需要一个 'hashbang' 作为文件的第一行:

#!/bin/bash

它告诉操作系统为脚本使用哪个解释器。如果没有它,操作系统将会对如何处理该文件感到困惑,从而为您提供您所看到的错误。

【讨论】:

  • 没问题,很高兴它有帮助。
猜你喜欢
  • 2020-09-15
  • 1970-01-01
  • 2016-08-14
  • 2018-03-31
  • 2012-03-29
  • 2013-12-17
  • 2016-10-19
  • 1970-01-01
  • 2016-02-29
相关资源
最近更新 更多