Bash 如何让Cloud9IDE在后台运行?

Bash 如何让Cloud9IDE在后台运行?,bash,node.js,cloud9-ide,Bash,Node.js,Cloud9 Ide,我已经按照上的说明将Cloud9IDE下载到我的Mac上,一切正常。但是,我似乎无法通过bash脚本在后台运行它: 名为“ide”的Bash脚本,具有可执行权限: #!/usr/bin/env sh CLOUD_USER=`whoami` CLOUD_DIR="/Users/$CLOUD_USER/Sites/cloud9" CLOUD_PORT=3333 CLOUD_WORKSPACE="/Users/$CLOUD_USER/Sites" CLOUD_ACTION="open" CLOUD_B

我已经按照上的说明将Cloud9IDE下载到我的Mac上,一切正常。但是,我似乎无法通过bash脚本在后台运行它:

名为“ide”的Bash脚本,具有可执行权限:

#!/usr/bin/env sh
CLOUD_USER=`whoami`
CLOUD_DIR="/Users/$CLOUD_USER/Sites/cloud9"
CLOUD_PORT=3333
CLOUD_WORKSPACE="/Users/$CLOUD_USER/Sites"
CLOUD_ACTION="open"
CLOUD_BEFORE=""
CLOUD_AFTER=""


case "$1" in
    -b)
        CLOUD_BEFORE="nohup "
        CLOUD_AFTER="> /dev/null 2>&1 &"
        ;;
    .)
        CLOUD_WORKSPACE=`pwd`
        CLOUD_AFTER="-a $CLOUD_ACTION"
        ;;
    *)
        if [ $1 ]; then
            CLOUD_WORKSPACE=$1
        fi
        CLOUD_AFTER="-a $CLOUD_ACTION"
        ;;
esac

$CLOUD_BEFORE`/usr/local/node/bin/node $CLOUD_DIR/bin/cloud9.js -p $CLOUD_PORT -w $CLOUD_WORKSPACE` $CLOUD_AFTER
我们的想法是,您可以通过以下几种方式启动:

$ ide
将启动Cloud9并使用~/Sites文件夹作为工作区启动。或者,您可以通过运行以下命令来指定工作区:

$ ide /path/to/workspace
或在后台运行服务器:

$ ide -b
。。。不会退出脚本。

我试过下载“永远”(https://github.com/indexzero/forever). 但是,当我永远运行它时,它将接管stdio,并且不会返回到命令提示符

如果在命令行中运行以下命令,它将在后台运行并正确存在:

$ nohup /usr/local/node/bin/node /Users/{user}/Sites/cloud9/bin/cloud9.js -p 3333 -w /Users/{user}/Sites > /dev/null 2>&1 &
但是,当我运行脚本本身时就不是了

关于如何强制在后台运行此命令,您有什么想法吗?

更改行

$CLOUD_BEFORE`/usr/local/node/bin/node $CLOUD_DIR/bin/cloud9.js -p $CLOUD_PORT -w $CLOUD_WORKSPACE` $CLOUD_AFTER

我正在测试以下示例:

[kaero@54221-2 ~]$ SF="sudo "
[kaero@54221-2 ~]$ FS=" aux"
[kaero@54221-2 ~]$ $SF`ps`$FS
Password:
sudo: PID: command not found
[kaero@54221-2 ~]$ $SF"ps"$FS
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
...

打开多个终端!只需在其中一个端口中打开它即可。@Raynos第二个问题,您如何让它实际挂接端口80?@drachenstern
$node bin/cloud9.js-h
有帮助。@drachenstern$node bin/cloud9.js-p80@ejangi更彻底地编辑你的问题,以反映你的bash脚本问题。是的,如果我直接在终端中运行命令,它可以正常工作。但是,由于某些原因,它无法从我的脚本内部工作。
[kaero@54221-2 ~]$ SF="sudo "
[kaero@54221-2 ~]$ FS=" aux"
[kaero@54221-2 ~]$ $SF`ps`$FS
Password:
sudo: PID: command not found
[kaero@54221-2 ~]$ $SF"ps"$FS
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
...