मैं साइगविन में डिफ़ॉल्ट स्टार्टअप निर्देशिका को कैसे बदलूं?


35

जब भी मैं cygwin शुरू करता हूं, मुझे केवल एक ही डायरेक्टरी में कई स्तरों को cd करने की आवश्यकता होती है, जो मुझे cygwin का उपयोग करते समय परवाह है।

मैं डिफ़ॉल्ट रूप से इस विशेष निर्देशिका में शुरू करने के लिए साइबरगैस कैसे प्राप्त कर सकता हूं ... यानी, जब भी मैं साइगविन शुरू करूंगा, तो यह पहले से ही उस निर्देशिका में होगा।

मुझे कुछ चीजें मिलीं जो कि हो सकती हैं, या बंद हो सकती हैं, लेकिन मैं उन्हें नहीं समझता, और जब मैं इन (n00b) शब्दों को खोजता हूं तो वास्तव में कोई परिणाम नहीं होता है। कोई भी मदद बहुत अच्छी रहेगी!


बस थोड़ा सा टिप: सागविन का उपयोग करके आपको कई बार सीडी की आवश्यकता नहीं है - आप इसे एक कमांड के साथ कर सकते हैं (सुझाव अभी भी उपनिर्देशिका के लिए दिखाई देंगे)।
लाइन

जवाबों:


46

बस जोड़ दो

cd /path/to/directory/you/care/about

आपकी ~ / .bashrc फ़ाइल के नीचे।


1
कहाँ है कि विंडोज इंस्टॉलेशन में ~ / .bashrc फ़ाइल
Erdem Ece

3
यह इस बात पर निर्भर करता है कि आपने साइगविन को कैसे स्थापित किया है, लेकिन आपके साइगविन होम निर्देशिका के लिए विंडोज पथ आमतौर पर है C:\cygwin\home\%USERNAME%, जो विंडोज पथ को बनाएगा ~/.bashrc C:\cygwin\home\%USERNAME%\.bashrc
गैरीजोन

क्या होगा अगर dafault घर निर्देशिका एक निर्देशिका है जहाँ मैं कोई फ़ाइल नहीं डालना चाहता हूं।
आर्टुरो

@Arturo मुझे लगता है कि आप दो चीजों को गड़बड़ करते हैं - आपका उपयोगकर्ता होम डायरेक्टरी और साइगविन होम डायरेक्टरी। यदि आप Cygwin स्थापित करते हैं तो .bashrc फ़ाइल वैसे भी है।
लाइन

3

"स्टार्ट साइबरिन" को परिभाषित करें? जब आप अपनी मशीन को पावर करते हैं तो आप साइबरविन सर्वर चला सकते हैं, लेकिन मैं मान रहा हूं कि आपका मतलब यह नहीं है।

यदि आप मतलब है, एक विशिष्ट फ़ोल्डर में हर बार जब आप एक शेल प्रॉम्प्ट खोलते हैं, तो आप इसे अपने $ HOME / .Bashrc में डाल सकते हैं।

अपने $ HOME / .bashrc को एक साइबर एडिटर (जो UNIX लाइन एंडिंग्स का उपयोग करता है) का उपयोग करके संपादित करें, एक लाइन जोड़ें

cd /whatever/directory/you/want

यदि आप लगातार इस निर्देशिका में जा रहे हैं, तो आप शायद उर्फ ​​के रूप में भी बेहतर बना रहे हैं।

आपके $ HOME / .bashrc में:

alias GT='cd /whatever/directory/you/want'

आप उसे जो चाहें कहें; मैंने बस "वहां जाने" के लिए जीटी का उपयोग किया, और मैंने अपरकेस किया क्योंकि यह बिल्टिन कमांड से अलग करना आसान बनाता है, जिसे कभी भी पूंजीकृत नहीं किया जाता है।



0

अजगर की पटकथा

!! उपयोग करने से पहले अंत में किसी भी स्ट्रिंग .bashrc !!

उपयोग name_script.py c:\path

path_bachrc - .bashrc के लिए पथ

cmd - cygwin.bat के लिए रास्ता

#***********************************************#
#   gangelXXX@gmail.com                         #
#***********************************************#
import argparse
import subprocess
import os

path_bachrc = 'c:/PP/cygwin/home/adm/.bashrc'
cmd = 'c:\PP\cygwin\Cygwin.bat'

def delEndLineFromFile(filename):
    with open(filename, 'r') as f:
        aList = f.readlines()

    bList = aList[0:-1]

    with open(filename, 'w') as fd:
        fd.writelines(bList)


parser = argparse.ArgumentParser()
parser.add_argument("newPath", type=str, help="New path in .bachrc cygwin")
args = parser.parse_args();

delEndLineFromFile(path_bachrc);

p = args.newPath;
pNew = 'cd /cygdrive/' + p[:1] + p[2:].replace('\\', '/')
print(pNew)

with open(path_bachrc, 'a') as f:
    f.write(pNew)

PIPE = subprocess.PIPE
p = subprocess.Popen(cmd, shell = True)

2
कृपया समझाएँ।
रॉनी माइकल

अजगर स्क्रिप्ट का उपयोग name_script.py c: \ path \
user236976

path_bachrc - path to .bashrc
user236976

cmd - cygwin.bat का मार्ग
user236976

0

इस समाधान के लिए संपादन की आवश्यकता नहीं है।

नीचे mkpasswd पर आधिकारिक डॉक्स से एक स्निपेट दिया गया है:

उदाहरण के लिए, यह आदेश:

उदाहरण 3.11। एक वैकल्पिक घर रूट का उपयोग करना

$ mkpasswd -l -p "$(cygpath -H)" > /etc/passwd

स्थानीय उपयोगकर्ताओं को होम निर्देशिकाओं को विंडोज 'प्रोफाइल' डायरेक्टरी में रखा जाएगा।

(पर समान प्रश्न से नकल उत्तर stackoverflow क्योंकि मैं यहाँ अधिक उन है कि इस समाधान की तरह)

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