phpstorm.bat函数的cygpath失败

问题描述

我正在使用cygwin从命令行启动PHPStorm。一切正常,但是要做到这一点,我必须先运行

crntproj=$(cygpath -w $PWD)

然后运行

PHPstorm.bat $crntproj

我更希望能够简单地运行PHPstorm.bat $PWD,除非那是行不通的。

因此,我编写了如下的bash函数并将其添加到我的bashrc中:

function winpath {
path=$(cygpath -m $PWD)
echo $path
}

奇怪的是,这返回了看起来正确的文件夹 但是当我运行PHPstorm.bat winpath时,PHPStorm试图打开C:/user/project/winpath当然不存在。

我现在已经尝试将-w用于Windows和-m用于混合。没关系。我还在路径的末尾连接了一个正斜杠,以告诉PHPStorm它是一个文件夹而不是文件。这也没有解决问题。

任何人都可以解释我所缺少的吗?

解决方法

好的,请将以下内容放在.bash_profile中,它现在可以正常使用

function winpath {
path=$(cygpath -m $PWD)
echo $path
}

现在就运行 phpstorm.bat $(winpath)

为了方便起见,我甚至做了几个别名

alias pstorm='phpstorm.bat'
alias pstorm-openProj='pstorm $(winpath)'

所以现在我可以在项目文件夹中运行pstorm-openProj

,

我认为可以通过在〜/ .bash_profile文件中设置环境变量,然后重新启动cygwin终端窗口来解决此问题。

将此行添加到您的.bash_profile文件中:

export crntproj=$(cygpath -w $PWD)

我目前无法对其进行测试,但是目标是每次启动bash终端时都要设置环境变量。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...