नोट: कृपया समस्या पर अद्यतन के लिए नीचे मेरा दूसरा संपादन देखें।
सिग्विन पिछले हफ्ते तक मेरे लिए ठीक काम कर रहा था। अब .bashrc को खट्टा नहीं किया जा रहा है। मैंने कुछ स्थापित किया है या कुछ बदल दिया है, लेकिन मुझे याद नहीं है कि वास्तव में क्या समस्या हुई। जब मैं साइगविन शुरू करता हूं, तो मैं अपने विंडोज घर में हूं और मेरा कोई भी एलियास काम नहीं करता है। मुझे मैन्युअल रूप से .bashrc सोर्स करना होगा। निम्नलिखित मेरा Cygwin.bat है:
@echo off
C:
chdir C:\cygwin\bin
set CYGWIN=tty notitle glob
bash --login -i
कोई विचार?
संपादित करें: मेरा .bash_profile में निम्नलिखित शामिल हैं:
# source the users bashrc if it exists
if [ -f "${HOME}/.bashrc" ] ; then
source "${HOME}/.bashrc"
fi
EDIT2: महत्वपूर्ण! जब मैंने साइग्विन शुरू किया तो यह मेरे विंडोज होम फोल्डर में शुरू होता है। मैंने अपने .bash_profile और .bashrc को इस फ़ोल्डर में डालने का प्रयास किया और वे सही ढंग से तैयार किए गए थे! इसका मतलब यह है कि समस्या का पता लगाने के लिए कम कर दिया गया है कि क्यों सिग्विन विंडोज होम फोल्डर में शुरू होता है और सामान्य सिग्विन होम फोल्डर में नहीं।
EDIT3: grep गुलशन / etc / passwd / चलाने के परिणाम
$ grep Gulshan /etc/passwd
Administrator:unused:500:513:U-Gulshan-HP\Administrator,S-1-5-21-1235613160-4193452482-2032876723-500:/home/Administrator:/bin/bash
Guest:unused:501:513:U-Gulshan-HP\Guest,S-1-5-21-1235613160-4193452482-2032876723-501:/home/Guest:/bin/bash
Gulshan:unused:1000:513:U-Gulshan-HP\Gulshan,S-1-5-21-1235613160-4193452482-2032876723-1000:/home/Gulshan:/bin/bash
/cygdrive/c/Users/foo
इसके बजाय C:\Users\foo
)
HOME=/home/yourname bash -l
टर्मिनल प्रॉम्प्ट पर टाइप करते हैं तो क्या होता है ? अगर मैं सही हूं, तो यह आपको ठीक से काम करने वाला खोल देना चाहिए। ध्यान दें कि यह एक निदान है, या सबसे अच्छा एक समाधान है, न कि समाधान; हमें अभी भी यह पता लगाने की आवश्यकता है कि आपकी $HOME
पहली जगह गलत क्यों है। मूल समस्या की गलत सेटिंग है $HOME
; बैश सही व्यवहार कर रहा है।
echo $HOME
प्रिंट करता है ?