수정된 PATH에 /usr/bin이 없습니다.

수정된 PATH에 /usr/bin이 없습니다.

포함되지 않은 수정 사항을 저장하는 방법은 무엇입니까 PATH?PATH_MOD/usr/bin

출력 PATH:

/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

답변1

시도해 보셨나요:
PATH_MOD=$(echo $PATH | sed 's/:\/usr\/bin:/:/g')

편집: 백슬래시를 표시하려면 \를 두 번 사용하세요.

답변2

zsh셸 에서 :

path=("${path[@]:#/usr/bin}")

업데이트가 $PATH진행 중입니다. 또는 대신 설정하십시오 $PATH_MOD.

PATH_MOD=${(j[:])path:#/usr/bin}

에서는 에서 zsh와 같이 $PATH배열과 연관되어 있으며 패턴 과 일치하지 않는 배열의 요소로 확장됩니다.$path(t)csh${array:#pattern}

$PATH단지 이면 비어 /usr/bin있게 됩니다. 의 경우 zsh이는 명령이 어디에서도 발견되지 않음을 의미하지만 대부분의 경우 이는 다음을 의미합니다.현재 작업 디렉토리주문을 찾고 있습니다!

4.4+의 동등한 기능은 bash다음과 같은 일부 도우미 기능을 사용하여 수행할 수 있습니다.

remove_element() {
  local - text=$1 IFS=$2 element=$3 i
  set -o noglob
  set -- $text""
  for i do
    if [ "$i" != "$element" ]; then
       set -- "$@" "$i"
    fi
    shift
  done
  REPLY="$*"
}

remove_element "$PATH" : /usr/bin
PATH_MOD=$REPLY

관련 정보