【发布时间】:2017-09-07 14:18:49
【问题描述】:
我编写了一个小函数,将 Windows 路径“转换”为 OSX 路径并在 Finder 中打开它。该函数与 bash 完美配合,但不适用于 zsh(我使用 oh-my-zsh)。
问题在于它会解析特定的反斜杠组合,例如:\f、\a、\01、\02、\03 等...
例如,这个路径字符串就是输入:
"\60_Project\6038_Projekt_Part\05_development\assets\img\facebook"
在翻译函数之后,\f 序列(来自 img\facebook)被错误地翻译为空格,产生输出:
"/60_Project/6038_Project_Part_developmentssets/img
acebook"
我的目标是粘贴到 Windows 路径中,而不必手动更改任何内容。
如何使用 zsh 转义或引用字符串以获得我想要的结果?
这是我写的代码:
function parsewinpath {
echo $1 | sed -e 's/\\/\//g'
}
function openwinpath {
echo "Opening..."
open $(parsewinpath "/Volumes/myvolume$1")
}
用法:
openwinpath '\60_Project\6038_Project_Part\05_development\assets\img\facebook'
结果应该是Finder打开了:
/Volumes/myvolume/60_Project/6038_Project_Part/05_development/assets/img/facebook
【问题讨论】: