오 my zsh를 사용하고 있습니다. 예를 들어 정규 표현식에서 \ s에 대해 우분투에서 할 수있는 일부 명령을 사용할 수 없습니다. home-brew를 설치 한 다음 brew install gnu-sed --default-names
를 설치했지만 여전히 sed 명령을 사용할 수 없습니다. 내 $ PATH 변수가 약간 엉망이어서 수정하는 방법을 모르겠습니다.
/Users/ishansrivastava/bin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/bin:/opt/local/sbin:/opt/X11/bin:/Library/TeX/texbin
모든 gnu 명령을 사용할 수 있도록 어떻게해야합니까? Mac에서 번거 로움없이? 또한 기본값 대신 gnu 명령을 사용해야하는 명령 목록을 알려주십시오. sed
등
댓글
- 관련 : stackoverflow.com/questions/30003570 / …
답변
언급 한대로 다른 질문 (--with-default-names
과 함께 Homebrew를 사용하여 GNU sed
를 설치하는 경우) 이면 /usr/local/bin/sed
로 설치됩니다.
--with-default-names
없이는 .
sed
로 설치된 경우 $PATH
무엇에 따라 달라집니다. div id sed
를 실행하면 = “04c9b6874d”>
바이너리가 선택됩니다. $PATH
가 설명한 것과 같으면 GNU sed
가 기본 macOS sed
.
이전에 명령 줄에서 명령을 사용한 적이 있다면 쉘이 이미 sed
명령의 위치를 캐시했을 수 있습니다. 쉘 세션. 그런 다음 zsh
의 rehash
를 사용하여 해당 캐시를 지우거나 새 터미널을 열 수 있습니다.
GNU sed
가 아닌 기본 sed
구현을 제공하는 경우 GNU sed
를 gsed
로 지정하여 기본 sed
에 특정한 동작에 의존하는 기존 스크립트를 중단하지 않습니다. 이것이 macOS에서 Homebrew의 기본 동작이 GNU sed
를 gsed
로 설치하는 이유입니다. 이것은 다른 BSD 시스템에서 GNU sed
(일반적으로 GNU 도구) 이름을 지정하는 기본 방법이기도합니다.
댓글
- 해결했습니다. 분명히
usr/local/Cellar/gnu-sed/4.4/bin
에 설치되었습니다. 나는 경로에 추가했습니다. 그래도 실제 sed를 변경하는 대신 gsed를 사용하고 싶었습니다. - @IshanSrivastava I ' m Homebrew 사용자는 아니지만 ' 없이
--with-default-names
설치하면 GNU Sed를gsed
로 사용할 수 있습니까? - 기본 이름으로 설치했습니다. 드디어 잡았다. 문제를 일으켜서 미안 해요. 그런데 왜 저처럼 어색한 경로에 설치 되었습니까?
- @IshanSrivastava 여기에 몇 가지 정보 : rkulla.blogspot.se/2014/03/the -path-to-homebrew.html