2011-05-11 6 views
5

मैंने https://github.com/ajaxorg/cloud9 पर दिए गए निर्देशों के अनुसार अपने मैक में क्लाउड 9 आईडीई डाउनलोड किया है और सब ठीक काम करता है। लेकिन, मैं यह पृष्ठभूमि में चलाने के लिए प्राप्त करने, एक bash स्क्रिप्ट के माध्यम से शुरू करने प्रतीत नहीं कर सकते हैं:पृष्ठभूमि में चलाने के लिए आपको क्लाउड 9 आईडीई कैसे प्राप्त होता है?

बैश स्क्रिप्ट "आईडीई" कहा जाता है और निष्पादन योग्य विशेषाधिकार हैं:

#!/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 

क्लाउड 9 शुरू करेगा और कार्यस्थल के रूप में ~/साइट फ़ोल्डर का उपयोग करके लॉन्च करेगा। या आप चल रहा द्वारा कार्यक्षेत्र निर्दिष्ट कर सकते हैं:

$ 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 & 

लेकिन, जब नहीं मैं स्क्रिप्ट ही चलाते हैं।

पृष्ठभूमि में चलाने के लिए मैं इसे कैसे मजबूर कर सकता हूं इसके बारे में कोई विचार?

+0

ओपन एकाधिक टर्मिनलों! बस उनमें से एक में इसे खोलें। – Raynos

+0

@ रेयानोस दूसरा प्रश्न, आप इसे _actually_ हुक पोर्ट 80 पर कैसे प्राप्त करते हैं? – jcolebrand

+0

@drachenstern '$ node bin/cloud9.js -h' मदद है। – Raynos

उत्तर

2

परिवर्तन लाइन

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

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

को मैं निम्न उदाहरण पर परीक्षण कर रहा हूँ:

[[email protected] ~]$ SF="sudo " 
[[email protected] ~]$ FS=" aux" 
[[email protected] ~]$ $SF`ps`$FS 
Password: 
sudo: PID: command not found 
[[email protected] ~]$ $SF"ps"$FS 
USER  PID %CPU %MEM VSZ RSS TTY  STAT START TIME COMMAND 
... 
+0

हाँ, अगर मैं टर्मिनल में कमांड चलाता हूं तो यह ठीक काम करता है। लेकिन, यह किसी कारण से मेरी लिपि के अंदर से काम नहीं करता है। – ejangi

संबंधित मुद्दे