나는 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
으로 내 경로 설정이 실패하는 이유는 무엇입니까?