为了显示当前目录,我使用
这篇文档解释了如何将Cygwin目录转换为Windows格式。但是为什么
在这种情况下,我得到的结果如下:
$pwd
在Cygwin中运行良好。这篇文档解释了如何将Cygwin目录转换为Windows格式。但是为什么
$cygpath -w pwd
和$cygpath -w $pwd
无法工作?在这种情况下,我得到的结果如下:
尝试以下任何版本:
cygpath -w "$(pwd)"
cygpath -w "$PWD"
cygpath -w "`pwd`"
$cygpath -w pwd
和 $cygpath -w $pwd
都无法工作,但是如果我运行 $pwd
,它会显示当前目录? - Serginocygpath -w $(pwd)
对我有效,带引号的版本不行。 - Stephenme-and
)于2017年10月31日提交)gitster
--于提交b169d18中合并,2017年11月9日)
t5580
: 增加Cygwin支持t5580
测试Git使用Windows UNC路径的情况。
Cygwin支持UNC路径,但只能使用斜杠而非反斜杠,因此在Cygwin和MinGW上运行兼容性测试。
唯一的复杂之处在于Cygwin的 pwd
返回*nix风格的路径,这不适合计算到当前目录的UNC路径。
相反,应该使用Cygwin的cygpath
实用工具来获取Windows风格的路径。
因此,现在测试使用:
alias winpwd='cygpath -aw .'
BACKSLASHED="$(winpwd | tr / \\\\)"
我不想记住cygpath - 所以我创建了一个pwd的包装器并将其添加到我的.bashrc文件中。
pwd()
{
if [[ $1 == "-W" ]] ; then
cygpath -aw .;
else
wpwd="-W, --winpath\t Gives you actual Windoze path"
err_msg=$(/usr/bin/pwd $* 2>&1);
let "v = $?"
if [ $v -eq 1 ] ; then # have error
echo "${err_msg}" | sed 's/.*pwd --help.*//' ;
/usr/bin/pwd --help | sed "s|\(.* -L, --logi.*\)| $wpwd\n\1|"
else
echo "${err_msg}"
fi
fi
}
`
cygpath -w "\
pwd`"或
cygpath -w "$(pwd)"或
cygpath -w "$PWD"`。 - anishsane