Linux 从$PATH中排除特定目录

Linux 从$PATH中排除特定目录,linux,bash,unix,Linux,Bash,Unix,我的系统上有多个MPI变体。每一个用于编译特定的应用程序。我正在寻找一个脚本,从$PATH中排除特定的dir,以便用相应的MPI包装应用程序执行。有什么简单的方法可以做到这一点吗?也许有以下几点: with-excluded-path () { echo "$PATH" | sed "s,$1:,,g" } or with-excluded-path () { echo "$PATH" | awk -vORS=":" -vRS=":" '$1 == "'$1'"

我的系统上有多个MPI变体。每一个用于编译特定的应用程序。我正在寻找一个脚本,从$PATH中排除特定的dir,以便用相应的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路径添加到路径头:

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

export PATH=“/PATH/that/i/want”+1用于将已知路径添加到
路径的头部。尝试删除路径比必要的更复杂。