फ़ाइलों को स्थानांतरित करने के लिए स्क्रिप्ट को बैश करें


11

मैं एक शुरुआती हूं और मुझे मदद की जरूरत है।

मैं एक स्क्रिप्ट को एक निर्देशिका से दूसरी निर्देशिका में स्थानांतरित करने के लिए एक स्क्रिप्ट बनाने की कोशिश कर रहा हूं। स्क्रिप्ट बनाने से पहले मैंने कमांड का परीक्षण किया और यह काम कर रहा था:

mv /path/to/source  /path/to/destination

मैंने स्क्रिप्ट बनाने के बाद nano:

#!bin/bash/
echo "mv /path/to/source  /path/to/destination"

मैंने स्क्रिप्ट को निष्पादन योग्य बना दिया है: chmod +x file और फिर ./fileनिम्न के रूप में निष्पादित किया गया है, लेकिन निम्न त्रुटि दिखाई देती है:

bash: ./move.sh: /bin/bash/: bad interpreter: Not a directory

मैंने कोशिश की और sudo ./fileबैश फ़ाइल के साथ लेकिन यह काम नहीं कर रहा है।

मैं VirtualBox के साथ स्थापित Ubuntu का उपयोग कर रहा हूं।


जवाबों:


20

ऐसा इसलिए है क्योंकि आपने उपयोग किया है #!bin/bash/और यह गलत है। सही तरीका है:

#!/bin/bash

इसे एक शबंग कहा जाता है और यह शेल को बताता है कि निष्पादित होने पर स्क्रिप्ट की व्याख्या करने के लिए कौन सा कार्यक्रम है।

एक और बात: उबंटू में बैश दुभाषिया के लिए पूर्ण मार्ग है /bin/bash, न कि bin/bash/कुछ और। आप which bashकमांड का उपयोग करके इसे देख सकते हैं ।

और एक और बात, लेकिन शायद आप यह जानते हैं: निम्नलिखित पंक्ति:

echo "mv /path/to/source /path/to/destination"

के साथ केवल एक पाठ संदेश प्रदर्शित करेगा mv /path/to/source /path/to/destination। फ़ाइलों को वास्तव में स्थानांतरित करने के लिए निम्न स्क्रिप्ट का उपयोग करें:

#!/bin/bash
mv /path/to/source /path/to/destination

इस तरह आपकी स्क्रिप्ट दिखनी चाहिए।


1
फी, उबंटू ने ऐतिहासिक रूप से अविश्वसनीय रूप से उपयोगी whichकमांड के एक गंदे संस्करण को पैक किया है । यह मैनुअल स्थापित करने के लायक है जो कि गन्नू प्राप्त करता है ।
djikybb
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.