मैं कुछ मुद्दों पर भाग गया जब कुछ स्थापना स्क्रिप्ट चला रहे थे जहां उन्होंने शिकायत की थी bad interpreter
।
इसलिए मैंने एक तुच्छ उदाहरण दिया, लेकिन मैं यह पता नहीं लगा सकता कि समस्या क्या है, नीचे देखें।
#!/usr/bin/env bash
echo "hello"
निम्न त्रुटि में परिणाम के ऊपर स्क्रिप्ट निष्पादित करना
[root@ech-10-24-130-154 dc-user]# ./junk.sh
bash: ./junk.sh: /usr/bin/env: bad interpreter: No such file or directory
/usr/bin/env
फ़ाइल मौजूद है, नीचे देखें:
[root@ech-10-24-130-154 dc-user]# ls -l /usr/bin/env
lrwxrwxrwx 1 root root 13 Jan 27 04:14 /usr/bin/env -> ../../bin/env
[root@ech-10-24-130-154 dc-user]# ls -l /bin/env
-rwxr-xr-x 1 root root 23832 Jul 16 2014 /bin/env
[root@ech-10-24-130-154 dc-user]#
अगर मैं नियमित शेबंग का उपयोग करने के लिए स्क्रिप्ट को बदल देता हूं तो #!/bin/bash
यह कोई समस्या नहीं है। #!/bin/env bash
साथ ही काम करता है।
पोर्टेबल शेबंग को काम करने की अनुमति देने के लिए पर्यावरण से क्या गायब है?
ls -lL /usr/bin/env
रिटर्न ls: cannot access /usr/bin/env: No such file or directory
इसलिए मुझे लगता है मैं सांकेतिक लिंक को बदलने के लिए की आवश्यकता है? क्या मैं इसे इंगित कर सकता हूं /bin/env
?
env --version
8.4 है और OS Red Hat Enterprise Linux सर्वर रिलीज 6.6 है।