जवाबों:
लिनक्स के तहत, आपको at
हमेशा चेतावनी देता है कि यह /bin/sh
आपके पसंदीदा शेल के बजाय निर्दिष्ट कमांड को निष्पादित करेगा । आप इस संदेश को दबा नहीं सकते, यह स्रोत कोड में हार्ड-कोडित है।
आपके द्वारा पारित आदेश की व्याख्या की जाती है /bin/sh
। यदि आप चाहें तो यह कमांड एक स्क्रिप्ट का मार्ग हो सकता है; फिर /bin/sh
स्क्रिप्ट प्रोग्राम को निष्पादित करेगा, जिससे स्क्रिप्ट का दुभाषिया लॉन्च किया जाएगा और स्क्रिप्ट की व्याख्या की जा सकेगी। स्क्रिप्ट की भाषा उस कार्यक्रम से पूरी तरह से स्वतंत्र है जो इसे शुरू करती है। इसलिए यदि उदाहरण के लिए आप एक बैश स्क्रिप्ट (यानी एक स्क्रिप्ट जो शुरू होती है #!/bin/bash
) को निष्पादित करना चाहते हैं , at
तो अप्रासंगिक संदेश की स्क्रिप्ट को अनदेखा करने के लिए पथ को पास करें ।
आप इसे स्क्रिप्ट शेलबैंग को बदलते हुए एक अलग शेल से चलाने के लिए प्राप्त कर सकते हैं । कुछ विशिष्ट शेबंग लाइनें:
#!/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
#!/bin/sh
....?
#!/usr/bin/perl
मेरी लिपि में पहले से ही