Jag använder oh my zsh. Jag kan inte använda några kommandon som jag skulle kunna göra på ubuntu för t ex .. i reguljära uttryck. Jag installerade hembryggning och sedan brew install gnu-sed --default-names men ändå kan jag inte använda sed-kommandot. Min $ PATH-variabel är lite trassig och jag är inte säker på hur jag ska korrigera 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 

Vad ska jag göra så att jag kan använda alla GNU-kommandon utan krångel på min Mac? Ge mig också listan med kommandon som jag måste använda gnu-kommandot istället för standard för t.ex. gsed istället för sed etc.

Kommentarer

Svar

Som nämnts i en annan fråga , om du installerar GNU sed med Homebrew med --with-default-names , sedan installeras den som /usr/local/bin/sed.

Utan --with-default-names installeras den som /usr/local/bin/gsed.

Om det är installerat som sed beror det på din $PATH vad sed binär blir plockad upp när du kör sed. Om din $PATH är som du har beskrivit, bör GNU sed ha företräde framför den inbyggda macOS sed.

Observera att skalet kan ha cachat platsen för kommandot sed om du tidigare har använt kommandot på kommandoraden i samma skal session. Du kan sedan använda rehash i zsh för att rensa cachen eller öppna en ny terminal.

När ett system ger en naturlig sed -implementering som inte är GNU sed, då är det ofta bättre att installera GNU sed som gsed för att inte bryta befintliga skript som förlitar sig på beteende som är specifikt för det infödda sed. Det är därför som standardbeteendet med Homebrew på macOS är att installera GNU sed som gsed. Detta är också standard sättet att namnge GNU sed (och GNU-verktyg i allmänhet) på andra BSD-system.

Kommentarer

  • jag löste det. Tydligen installerades den i usr/local/Cellar/gnu-sed/4.4/bin. Jag lade till vägen. Ändå skulle jag ha velat använda gsed istället för att ändra vad min faktiska sed gjorde.
  • @IshanSrivastava I ' utan Homebrew-användare, men skulle inte ' t att installera utan --with-default-names tillåter dig att använda GNU Sed som gsed?
  • Jag installerade den med standardnamn. äntligen får jag dig. ledsen för besväret. men varför installerades den på en så besvärlig väg som min?
  • @IshanSrivastava Lite info här: rkulla.blogspot.se/2014/03/the -path-to-homebrew.html

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *