[英]How to remove first segment or segments from PATH in shell script
停用此鏈接中所述的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
會自動刪除,但我仍然在/home/dude/anaconda/envs/my_v_env/bin
找到該段/usr/local/cuda-9.0/bin:
因此,這將使用流操作刪除路徑上的前兩個條目:
num_entries_to_remove=2
export PATH=`echo $PATH | sed 's/\:/\n/g' | tail -n+$(expr $num_entries_to_remove + 1) | tr '\n' ':'`
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.