【发布时间】:2013-02-11 10:25:03
【问题描述】:
我想问如何在cygwin中删除路径。假设我有 3 条路径:
PATH=path1:path2:path3
我想删除 path2,所以它将是:
PATH=path1:path3
但实际上我里面有很多路径,手动重写会很痛苦。有什么建议吗?
【问题讨论】:
我想问如何在cygwin中删除路径。假设我有 3 条路径:
PATH=path1:path2:path3
我想删除 path2,所以它将是:
PATH=path1:path3
但实际上我里面有很多路径,手动重写会很痛苦。有什么建议吗?
【问题讨论】:
一个简单的解决方案是使用bash 或csh 命令行:
export PATH=`echo $PATH | sed s/:path2//`
但这只会在 99.9% 的情况下有效。要处理边缘情况,例如当 path2 位于开头,或者它是另一条路径的一部分时,您需要:
export PATH=`echo $PATH | sed "s/:path2:/:/g;s/^path2://;s/:path2$//"`
【讨论】:
sed/:PHP...是指sed s/:PHP...?
tcsh,但我可能记错了。)