2013-07-30 38 views
1

我在我的Cygwin .bash_profile中使用了很多别名,作为cd到各种冗长网络驱动器的一种方式。我也经常修改这个.bash_profile文件,因为需要访问新的驱动器。在Cygwin别名中引用HOME路径

我正试图创建一个别名,它将在文本编辑器中打开我的.bash_profile,并允许我从任何地方快速编辑它。我们以下面为例:

alias editbash='subl ~/.bash_profile' 

“subl”是我的Sublime Text可执行文件路径的另一个别名..这工作正常。

我的主要问题是,当我执行此别名,它试图在以下路径打开文件:

C:\home\username\.bash_profile 

...而不是...

C:\cygwin\home\username\.bash_profile 

我有试图修改这个别名使用以下内容:

alias editbash='subl /cygwin/home/username/.bash_profile' 

这个作品,但只有当我目前正在查看一些在我的C盘中,我通常不会。

如何更新此别名以始终引用我的Cygwin用户主目录,而不是Windows主目录?或者,如果更简单,我怎么总是在后面的例子中引用C:驱动器?

+0

我认为你的环境发生了一些事情,'echo $ HOME'会给你带来什么?应该是/ home/username这样的东西,可能会有一个windows HOME环境变量导致问题。 [查看这个问题的答案](http://stackoverflow.com/questions/15641346/defining-aliases-in-cygwin-under-windows?rq=1) – seumas

+0

'echo $ HOME'给我'/ home/username ”。 –

回答

1

尝试引用的主目录为/ cygdrive/C/Cygwin的/家/用户名

这应该解决的问题。

+0

如果我使用以下路径:'/ cygdrive/c/cygwin/home/username',它会尝试在Windows的以下路径中打开我的.bash_profile文件:C:\ cygdrive \ c \ cygwin \ home \ username \。 .bash_profile中。 显然,C:\ cygdrive不是我C盘上的真实目录。任何其他想法? –

0

你可以在/ etc/passwd文件中编辑你的home变量。使用pwd找出你在哪里。然后,代字号可以指向你实际需要的地方。