启动cygwin shell后,它只是位于一个错误的家庭目录中:
xfire@codingme.com ~
$ pwd
/cygdrive/c/Users/xfire
但它曾经是/ home / xfire
xfire@codingme.com /etc
$ cat passwd | grep xfire
xfire:unused:22773:10513:U-CORP\xfire,S-1-5-21-527237240-725345543-682003330-12773:/home/xfire:/bin/bash
并且/ home / xfire中的.bashrc没有被执行,即使我将它复制到/ cygdrive / c / Users / xfire,它也不起作用!
答案 0 :(得分:34)
在cygwin上,我将其添加到我的~/.bash_profile
:
. ~/.bashrc
答案 1 :(得分:9)
某些程序在Windows注册表中添加“HOME”环境并将值设置为“C:\ Users \ xfire”,这就是为什么cygwin将该目录作为主目录。 cygwin.com/faq-nochunks.html
答案 2 :(得分:3)
在我的cygwin版本中,我发现只有~/.profile
被抢救,所以添加了
if [ -e "${HOME}/.bash_profile" ]; then
source "${HOME}/.bash_profile"
fi
到.profile
文件。我的.bash_profile
文件包含.bashrc
的另一个测试,并从那里执行。我还在我的.bashrc
文件中添加了以下两行。
export BASH_ENV="${HOME}/.profile"
export ENV="${HOME}/.profile"
第一个确保.profile
在非交互式终端中执行,第二个确保它在POSIX终端中执行。我找到了一个非常有用的解释,说明了什么运行以及何时进入Bash Reference Manual。
在您的情况下,由于您的HOME
环境变量的值存在问题,因此无法提供帮助,但在搜索此问题时此列表在列表中显得相当高。
答案 3 :(得分:1)
您还可以设置BASH_ENV变量,例如,BASH_ENV ='C:\ DOCUME~1 \ dwyttenb \ .bashrc'
答案 4 :(得分:0)
~/.bash_profile
。之后,每次打开新的外壳程序时,都会执行~/.bashrc
。
在. ~/.bashrc
的末尾添加~/.bash_profile
已解决了该问题。
现在您可以使用alias
命令检查现有别名。
找到有关github的更多详细信息。