स्क्रिप्ट का उपयोग करके निर्देशिका कैसे बदलें


10

मेरे पास यह स्क्रिप्ट है

#!/bin/bash
cd /home/user/somedir
pwd

यह उम्मीद के मुताबिक काम करता है, लेकिन मैं चाहूंगा कि यह स्क्रिप्ट मुझे / घर / उपयोगकर्ता / किसी दिन ले जाए, लेकिन मैं उसी डायर में रहता हूं।

स्क्रिप्ट कैसे लिखें जो मुझे (सूक्ति-टर्मिनल में) / घर / उपयोगकर्ता / किसी दिन पहुंचाएगी?


जवाबों:


14

आपको sourceअपनी स्क्रिप्ट की जरूरत है । यदि इसे अलग-अलग उप-क्रम में नहीं चलाया जाएगा, तो उप-भाग की कार्यशील निर्देशिका को बदलते हुए, लेकिन उस शेल के नहीं जिसे आप इसे चलाते हैं।

इसे स्रोत करने के लिए:

. myfile.sh

या

source myfile.sh

आप यहां और पढ़ सकते हैं


मैं बस यह जोड़ने जा रहा था कि .... यदि आप शेल myfile.sh या ./myfile.sh की तरह शेल स्क्रिप्ट चला रहे थे तो यह डेंजिल के रूप में वर्णित होगा। या तो danjil का विकल्प आपके लिए काम करना चाहिए।
itnet7 12

3

exec bashअंत में उपयोग करें

एक बैश स्क्रिप्ट अपने वर्तमान परिवेश या अपने बच्चों पर, लेकिन कभी भी अपने मूल वातावरण पर नहीं चलती है।

हालांकि, यह सवाल अक्सर पूछा जाता है क्योंकि कोई अन्य निर्देशिका के माध्यम से एक बैश स्क्रिप्ट के निष्पादन के बाद एक निश्चित निर्देशिका में बैश प्रॉम्प्ट पर छोड़ दिया जाना चाहता है।

यदि यह स्थिति है, तो स्क्रिप्ट के अंत में एक चाइल्ड बैश इंस्टेंस निष्पादित करें:

#!/bin/bash
cd /home/user/somedir
exec bash
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.