इसे job controlयूनिक्स के तहत जाना जाता है । &पृष्ठभूमि में आदेश डाल करने के लिए खोल सूचित। इसका मतलब है कि यह sys-snap.shकमांड को चलाना जारी रखता है, लेकिन आपको अपने शेल पर लौटाता है ताकि आप समानांतर कमांड को जारी रख सकें ।
आप वर्तमान में jobsकमांड के साथ चल रही नौकरियों की सूची देख सकते हैं । आप कमांड का उपयोग करने के साथ कमांड ('अग्रभूमि में) ला सकते हैं fg। कौन सा आदेश वापस राज्य है जहां आप कोई शीघ्र देखने के लिए खींचती है और आप जारी करने के लिए है Ctrl- Cकरने के लिए को मारने की प्रक्रिया। आप फिर भी कर सकते हैं निलंबित (विराम) है कि इस प्रक्रिया, जारी करने Ctrl- Z। यह आपको विराम देगा sys-snap.shऔर आपको आपके शीघ्र लौटा देगा । इसके बाद आप पृष्ठभूमि यह (जैसे कि आप इसे जारी किया है सकते हैं के साथ& ) के साथ bgआदेश, और यह होगा फिर से शुरू से चल रहा है में रुके हुए राज्य Ctrl- Zमें रख दिया था।
ध्यान दें कि आपके पास एक समय में एक से अधिक काम हो सकते हैं (जैसा कि दिखाया गया है jobs):
[1]- Running sys-snap.sh &
[2]+ Running another-script.sh &
आप उनके जॉब नंबर का उपयोग करके उन्हें पृष्ठभूमि और अग्रभूमि कर सकते हैं, %1होगा sys-snap.shऔर %2रहेगा another-script.sh। यदि आप उपयोग करते हैं fgया bgतर्क के बिना यह ऊपर +के jobsआउटपुट में चिह्नित कार्य पर कमांड को क्रिया करेगा ।
fg %1
पृष्ठभूमि में sys-snap.shछोड़ते हुए, अग्रभूमि में वापस रखा जाएगा another-script.sh।
आप Ctrl- आदेश को Cउनके साथ अग्रभूमि किए बिना चलने वाली नौकरियों के लिए अनुक्रम जारी कर सकते हैं kill, kill %1के बराबर भेज देंगे Ctrl- Cको sys-snap.sh।
यदि आप बैश शेल का उपयोग कर रहे हैं, तो man bashकमांड में एक विस्तृत खंड है, जिसमें 'JOB CONTROL' के सेक्शन में अधिक विवरण है।
के नाम के रूप में sys-snap.sh, यूनिक्स फ़ाइल के तहत नाम मनमाने ढंग से (गतिशील लोडर फ़ाइलों की तरह अपवादों के एक जोड़े के साथ) हैं। उन्हें शेल स्क्रिप्ट के रूप में चलाने के लिए विशिष्ट फ़ाइल सीमाएँ रखने की कोई आवश्यकता नहीं है, अन्य आदेश जैसे कि perlया phpआदि का उपयोग करें। यह आमतौर पर स्पष्टता प्रदान करने के लिए उपयोग किया जाता है, इस उदाहरण में, यह .shबॉर्न शेल का उपयोग करके एक शेल स्क्रिप्ट है /bin/sh।
का कार्यात्मक हिस्सा sys-snap.sh(जब आप इसे कुछ lessकमांड जैसी सामग्री के साथ देखते हैं ) शेबंग है । पहली पंक्ति पर आपको संभवतः निम्नलिखित में से एक मिलेगा:
#! /bin/sh
#! /bin/bash
#! /usr/local/bin/bash
या इसी के समान। बुनियादी शब्दों में, #!(जैसे /bin/sh) के बाद एक कमांड चलाया जाता है और बाकी स्क्रिप्ट फ़ाइल की सामग्री को एक समय में एक पंक्ति में खिलाया जाता है। ध्यान दें कि फ़ाइल को निष्पादन योग्य भी सेट किया जाना चाहिए chmodताकि आप इसे कमांड के रूप में चला सकें। यदि अनुमतियाँ सेट नहीं थीं, तो shebangइसका कोई प्रभाव नहीं है, क्योंकि आपको या तो त्रुटि मिलेगी:
bash: sys-snap.sh: command not found
या यदि आप इसे स्पष्ट मार्ग से चलाते हैं ./sys-snap.sh( .जिसका अर्थ है कि वर्तमान कार्यशील निर्देशिका) तो आपको मिलेगा:
bash: ./sys-snap.sh: Permission denied
अन्य विकल्प इसे अनुमतियों को निष्पादित किए बिना छोड़ने के लिए है और इसे चलाने के लिए स्पष्ट रूप से पूछें / बिन / श:
/bin/sh sys-snap.sh &
&&एक एम्परसेंड से अलग है&?