Jeg bruger åh min zsh. Jeg er ikke i stand til at bruge nogle kommandoer, som jeg kunne udføre på ubuntu for f.eks. I regulære udtryk. Jeg installerede hjemmebrygging og derefter brew install gnu-sed --default-names, men jeg kan stadig ikke bruge sed-kommandoen. Min $ PATH-variabel er lidt rodet, 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 

Hvad skal jeg gøre, så jeg kan bruge alle GNU-kommandoer uden besvær på min Mac? Giv mig også listen over kommandoer, som jeg skal bruge gnu-kommandoen i stedet for som standard for f.eks. gsed i stedet for sed osv.

Kommentarer

Svar

Som nævnt i et andet spørgsmål , hvis du installerer GNU sed ved hjælp af Homebrew med --with-default-names , så installeres den som /usr/local/bin/sed.

Uden --with-default-names installeres den som /usr/local/bin/gsed.

Hvis det er installeret som sed, afhænger det af din $PATH hvad sed binær bliver afhentet, når du udfører sed. Hvis din $PATH er som du har beskrevet, så skal GNU sed have forrang over det oprindelige macOS sed.

Bemærk, at skallen muligvis allerede har cachelagret placeringen af sed -kommandoen, hvis du tidligere har brugt kommandoen på kommandolinjen i den samme shell-session. Du kan derefter bruge rehash i zsh til at rydde cachen eller åbne en ny terminal.

Når et system giver en naturlig sed implementering, der ikke er GNU sed, så er det ofte bedre at installere GNU sed som gsed for ikke at bryde eksisterende scripts, der er afhængige af adfærd, der er specifik for den indfødte sed. Dette er grunden til, at standardadfærden med Homebrew på macOS er at installere GNU sed som gsed. Dette er også standardmetoden til at navngive GNU sed (og GNU-værktøjer generelt) på andre BSD-systemer.

Kommentarer

  • jeg løste det. Det er tilsyneladende installeret i usr/local/Cellar/gnu-sed/4.4/bin. Jeg tilføjede stien. Alligevel ville jeg gerne have brugt gsed i stedet for at ændre, hvad min faktiske sed gjorde.
  • @IshanSrivastava I ' uden Homebrew-bruger, men ville ikke ' t at installere uden --with-default-names giver dig mulighed for at bruge GNU Sed som gsed?
  • Jeg installerede det med standardnavne. endelig får jeg dig. undskyld for besværet. men hvorfor blev det installeret i en så akavet sti som min?
  • @IshanSrivastava Noget info her: rkulla.blogspot.se/2014/03/the -sti-til-homebrew.html

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *