从$PATH中排除特定目录



我的系统上有多个MPI变体。每个都用于编译特定的应用程序。我正在寻找一个脚本来从$PATH中排除特定的目录,以使用相应的 MPI 包装应用程序执行。有什么简单的方法可以做到这一点吗?

也许是

这样的:

with-excluded-path () {      
    echo "$PATH" | sed "s,$1:,,g"
}
or 
with-excluded-path () {
    echo "$PATH" | awk -vORS=":" -vRS=":" '$1 == "'$1'" { next }; {print $1}'
}
PATH=$(with-excluded-path "/path/to/exclude") /bin/application

或者简单地将所需的 MPI 路径添加到 PATH 的头部:

export PATH="/opt/the/mpi/i/want:$PATH"