포함되지 않은 수정 사항을 저장하는 방법은 무엇입니까 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