注意:请查看下面的第二篇文章,以获取有关该问题的更新。
直到上周,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
?