Jeg bruker oh my zsh. Jeg er ikke i stand til å bruke noen kommandoer som jeg kan gjøre på ubuntu for f.eks. I vanlige uttrykk. Jeg installerte hjemmebrygging og deretter brew install gnu-sed --default-names
, men jeg kan fortsatt ikke bruke kommandoen sed. Min $ PATH-variabel er litt rotete, og jeg er ikke sikker på hvordan jeg skal rette den.
/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
Hva skal jeg gjøre for at jeg kan bruke alle GNU-kommandoer uten problemer på min Mac? Gi meg også listen over kommandoer som jeg må bruke gnu-kommandoen i stedet for standard for f.eks. gsed
i stedet for sed
osv.
Kommentarer
- Relatert: stackoverflow.com/questions/30003570 / …
Svar
Som nevnt i et annet spørsmål , hvis du installerer GNU sed
ved hjelp av Homebrew med --with-default-names
, så blir den installert som /usr/local/bin/sed
.
Uten --with-default-names
blir den installert som /usr/local/bin/gsed
.
Hvis installert som sed
, avhenger det av $PATH
hva sed
binær blir plukket opp når du kjører sed
. Hvis $PATH
er som du har beskrevet, bør GNU sed
ha forrang over det opprinnelige macOS sed
.
Merk at skallet kan ha hurtigbufret plasseringen av sed
-kommandoen hvis du tidligere har brukt kommandoen på kommandolinjen i samme skalløkt. Du kan da bruke rehash
i zsh
for å tømme cachen, eller åpne en ny terminal.
Når et system gir en innfødt sed
implementering som ikke er GNU sed
, da er det ofte bedre å installere GNU sed
som gsed
for ikke å bryte eksisterende skript med avhengighet av atferd som er spesifikk for den opprinnelige sed
. Dette er grunnen til at standardoppførselen med Homebrew på macOS er å installere GNU sed
som gsed
. Dette er også standard måte å gi GNU sed
(og GNU-verktøy generelt) til andre BSD-systemer.
Kommentarer
- jeg løste det. Det ble tilsynelatende installert i
usr/local/Cellar/gnu-sed/4.4/bin
. Jeg la til stien. Likevel hadde jeg likt å bruke gsed i stedet for å endre hva min faktiske sed gjorde. - @IshanSrivastava I ' Jeg er ikke en Homebrew-bruker, men ville ikke ' t å installere uten
--with-default-names
kan du bruke GNU Sed somgsed
? - Jeg installerte den med standardnavn. endelig får jeg deg. Beklager for bryet. men hvorfor ble den installert i en så vanskelig vei som min?
- @IshanSrivastava Noe info her: rkulla.blogspot.se/2014/03/the -path-to-homebrew.html