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
- Relateret: stackoverflow.com/questions/30003570 / …
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 somgsed
? - 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