我想在停用link中所述的conda虚拟环境时通过.sh脚本从PATH中删除CUDA目录。
env变量由echo $PATH
显示。
/usr/local/cuda-9.0/bin:/home/dude/anaconda/envs/my_v_env/bin:/usr/sbin:/usr/bin:
所以我在/home/dude/anaconda/envs/my_v_env/etc/conda/deactivate.d/中创建一个.sh文件。
我紧随其后的 .sh脚本没有任何变化,但在终端上确实起作用(当我执行conda deactivate
时,该脚本将自动执行):
export PATH=$(echo ${PATH} | sed -r 's|/usr/local/cuda-9.0/bin||')
我只希望在停用venv之后:
/usr/sbin:/usr/bin:
/home/dude/anaconda/envs/my_v_env/bin
被自动删除,但是我在PATH中仍然有/usr/local/cuda-9.0/bin:
段
答案 0 :(得分:0)
因此,这将使用流操作删除路径上的前两个条目:
num_entries_to_remove=2
export PATH=`echo $PATH | sed 's/\:/\n/g' | tail -n+$(expr $num_entries_to_remove + 1) | tr '\n' ':'`