从$ 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"