1
我使用fish
2.2.0。 (是的,我知道它已經老了,我無能爲力。)
我想從$ PATH中取消路徑(/usr/local/ferret-6.82/bin
)。要做到這一點,我會假設使用sed
將工作:
> echo $PATH
/usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /usr/games /usr/local/games /usr/local/ferret-6.82/bin /opt/intel/bin
> echo $PATH | sed -e 's:/usr/local/ferret-6.82/bin ::g'
/usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /usr/games /usr/local/games /opt/intel/bin
太棒了!然而...
> set -gx PATH (echo $PATH | sed -e 's:/usr/local/ferret-6.82/bin ::g')
set: Warning: path component /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /usr/games /usr/local/games /opt/intel/bin may not be valid in PATH.
set: No such file or directory
> echo $PATH
/usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /usr/games /usr/local/games /usr/local/ferret-6.82/bin /opt/intel/bin
當然,所有這些目錄都存在。手動設置路徑:
> set -gx PATH /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /usr/games /usr/local/games /opt/intel/bin
> echo $PATH
/usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /usr/games /usr/local/games /opt/intel/bin
這裏有什麼問題?爲什麼我的路徑設置使用sed
失敗?