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

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 som gsed?
  • 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

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *