为node.js脚本创build一个启动器

我正在尝试为node.js脚本创build一个启动程序(这样我就可以通过单击它们的文件图标来运行脚本,而不是从terminal启动它们)。这通常是如何完成的? 我更喜欢如果我可以通过点击它的图标在terminal上运行一个脚本。

我尝试编写一个shell脚本来在同一个文件夹中启动另一个脚本,但是由于某种原因它没有显示node.js脚本的命令行输出:

#!/bin/bash echo -n "Enter a node.js script to run > " read text node "$text" 

我使用这个在terminal上的debian上启动我的节点脚本

 #!/usr/bin/env sh dir=$(dirname $0) script="$dir/path_to_your_server.js" echo "node $script" 

我现在知道你正在寻找一个Ubuntu解决scheme,但是如果有人对OS X解决scheme感兴趣,可以这样做:

  • 打开Automator。
  • 创build一个新的应用程序
  • 添加一个AppleScript操作
  • 粘贴以下代码:

 on run {input, parameters} tell application "Terminal" repeat with f in input do script "node " & quoted form of (POSIX path of f) end repeat activate end tell end run 
  • 保存应用程序。
  • 在Finder中,按住Control键并点击任何* .js文件,然后select打开方式>其他…,select新的应用程序并选中“始终打开”。

从此,无论何时打开一个* .js文件,它都会在一个新的terminal窗口中打开, 在节点运行完成后保持打开状态 。 添加 ; exit到上面的命令string以自动closures(可能首先添加read -sn 1首先等待击键。)