क्यों `at` ने मुझे चेतावनी दी है कि आदेश / बिन / श का उपयोग करके निष्पादित किया जाएगा? अगर मुझे एक अलग शेल चाहिए तो क्या होगा?


12

मैंने अपनी atएक स्क्रिप्ट के भीतर से उपयोग करने की कोशिश की और यह प्रिंट करता है:

चेतावनी: आदेशों को / बिन / श का उपयोग करके निष्पादित किया जाएगा

यदि मैं चाहता हूं तो मैं अलग शेल का उपयोग कैसे करूंगा?

जवाबों:


14

लिनक्स के तहत, आपको atहमेशा चेतावनी देता है कि यह /bin/shआपके पसंदीदा शेल के बजाय निर्दिष्ट कमांड को निष्पादित करेगा । आप इस संदेश को दबा नहीं सकते, यह स्रोत कोड में हार्ड-कोडित है।

आपके द्वारा पारित आदेश की व्याख्या की जाती है /bin/sh। यदि आप चाहें तो यह कमांड एक स्क्रिप्ट का मार्ग हो सकता है; फिर /bin/shस्क्रिप्ट प्रोग्राम को निष्पादित करेगा, जिससे स्क्रिप्ट का दुभाषिया लॉन्च किया जाएगा और स्क्रिप्ट की व्याख्या की जा सकेगी। स्क्रिप्ट की भाषा उस कार्यक्रम से पूरी तरह से स्वतंत्र है जो इसे शुरू करती है। इसलिए यदि उदाहरण के लिए आप एक बैश स्क्रिप्ट (यानी एक स्क्रिप्ट जो शुरू होती है #!/bin/bash) को निष्पादित करना चाहते हैं , atतो अप्रासंगिक संदेश की स्क्रिप्ट को अनदेखा करने के लिए पथ को पास करें ।


4

आप इसे स्क्रिप्ट शेलबैंग को बदलते हुए एक अलग शेल से चलाने के लिए प्राप्त कर सकते हैं । कुछ विशिष्ट शेबंग लाइनें:

#!/bin/sh — Execute the file using sh, the Bourne shell, or a compatible shell
#!/bin/csh -f — Execute the file using csh, the C shell,
#!/usr/bin/perl -T — Execute using Perl with the option for taint checks
#!/usr/bin/php — Execute the file using the PHP command line interpreter
#!/usr/bin/python -O — Execute using Python with optimizations to code
#!/usr/bin/ruby — Execute using Ruby

दिए गए समय पर एक स्क्रिप्ट चलाने के लिए मैं आपको क्रोनजोब जोड़ने का सुझाव देता हूं

उदाहरण:

निम्न पंक्ति उपयोगकर्ता प्रोग्राम को test.pl बनाती है - आमतौर पर एक पर्ल स्क्रिप्ट - हर दो घंटे, आधी रात, 2 बजे, 4 बजे, 6 बजे, सुबह 8 बजे और इतने पर चलती है:

0 * / 2 * * * /home/username/test.pl


#!/usr/bin/perlमेरी लिपि में पहले से ही
शेबंग है

@ कैरेटाइलस स्पष्टीकरण के लिए यहां एक नज़र डालें ।
vfbsilva

+1 शबंग और रूबी और पर्ल का उल्लेख। इसके अलावा, "#! / Bin / env माणिक" का उपयोग करने पर विचार करें।
च्च्कॉट्रिल

खान अब भी शिकायत करता है #!/bin/sh....?
ग्लॉमी.पेंगिन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.