刪除我的PATH環境變量特定變量給定一個輸入變量說usr/bin下以下路徑我如何使用魚貝
echo $PATH
/usr/local/bin /usr/bin /bin /usr/sbin /sbin /usr/local/sbin /Developer/bin
我該怎麼寫(魚外殼)給定一個函數字符串/輸入可以從我的PATH變量中刪除該路徑? - >理想的情況是刪除第一次出現(VS一個刪除此類變量的所有實例)
我正在考慮寫一個小功能,如
deleteFromPath usr/bin
它會更好在寫這篇腳本語言像Perl/python/ruby而不是魚殼?
for x in $list
if [ $x = $argv ]
//delete element x from list -> How?
end
end
是否有一個原因,你跳轉到perl/python/ruby而不是,比如說,一個POSIX shell? –
'IFS =:read -r -a path_entries <<<「$ PATH」;爲「$ {!path_entries [@]}」中的idx;爲arg做; do [[$ {path_entries [$ idx]} =「$ arg」]] && unset path_entries [$ idx];完成;完成; printf -v PATH'%s:'「$ {path_entries [@]}」; PATH = $ {PATH%':'}'讓我覺得它是一個相當理智的bash實現,對正確性持謹慎態度。魚確實不是爲腳本編寫的;它是一個* interactive * shell。 –
@CharlesDuffy:'fish'不支持'POSIX'子串刪除技術? – Inian