我希望运行 pwd ,如果内容包括“/Volumes/Storage/Users/testuser/”,则重定向到 ~/,然后是 pwd 的其余内容。例如,如果 pwd 返回:

/Volumes/Storage/Users/testuser/Desktop/folder1/folder2/

这个 bash 脚本将 cd 到:
~/Desktop/folder1/folder2/

到目前为止我所拥有的是这个,但我似乎无法让匹配组正确显示:
[[ $(pwd) =~ \/Volumes\/Storage\/Users\/testuser\/(.*) ]] && cd "~/${BASH_REMATCH[1]}"

最佳答案

也许您对替代解决方案感兴趣。

我建议以下使用 shell 参数扩展。

PREFIX="/Volumes/Storage/Users/testuser/"
PWD=`pwd`

[[ ${PWD} =~ ${PREFIX}* ]] && cd ~/"${PWD#${PREFIX}}"
${PWD#${PREFIX}} 形式删除了 ${PREFIX} 开头的 ${PWD}

关于bash - cd 使用 bash 重新匹配和 pwd 的结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17886383/

10-13 05:50