หมายเหตุ: โปรดดูการแก้ไขครั้งที่สองของฉันด้านล่างสำหรับการอัปเดตเกี่ยวกับปัญหา
Cygwin ทำงานได้ดีสำหรับฉันจนถึงสัปดาห์ที่แล้ว ตอนนี้. bashrc ไม่ได้รับที่มา ฉันต้องติดตั้งบางอย่างหรือเปลี่ยนแปลงบางอย่าง แต่ฉันจำไม่ได้ว่าอะไรเป็นสาเหตุของปัญหา เมื่อฉันเริ่ม Cygwin ฉันอยู่ในบ้าน Windows และไม่มีนามแฝงของฉันทำงาน ฉันต้องแหล่ง. 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: สำคัญ! เมื่อฉันเริ่ม Cygwin มันเริ่มต้นในโฟลเดอร์บ้านของ Windows ฉันพยายามวาง. bash_profile และ. bashrc ในโฟลเดอร์นี้และพวกเขามีแหล่งที่มาอย่างถูกต้อง! ซึ่งหมายความว่าปัญหาได้รับการลดลงเพื่อหาสาเหตุที่ Cygwin เริ่มต้นในโฟลเดอร์บ้านของ Windows และไม่ใช่โฟลเดอร์บ้าน Cygwin ปกติ
EDIT3: ผลลัพธ์ของการรัน grep Gulshan / 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
; bash ทำงานอย่างถูกต้อง
echo $HOME
พิมพ์อะไร?