Ik gebruik oh my zsh. Ik kan sommige commandos niet gebruiken die ik op ubuntu zou kunnen doen voor bijvoorbeeld .. \ s in reguliere expressies. Ik heb home-brew geïnstalleerd en daarna brew install gnu-sed --default-names, maar ik kan nog steeds het sed-commando niet gebruiken. Mijn $ PATH-variabele is een beetje in de war en ik weet niet zeker hoe ik het moet corrigeren.

/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 

Wat moet ik doen zodat ik alle GNU-opdrachten kan gebruiken zonder gedoe op mijn Mac? Geef me ook de lijst met commandos waarop ik gnu-commando moet gebruiken in plaats van standaard voor bijv. gsed in plaats van sed etc.

Opmerkingen

Antwoord

Zoals vermeld in een andere vraag , bij installatie van GNU sed met Homebrew met --with-default-names , dan wordt het geïnstalleerd als /usr/local/bin/sed.

Zonder --with-default-names wordt het geïnstalleerd als /usr/local/bin/gsed.

Indien geïnstalleerd als sed, hangt het af van uw $PATH wat sed binair bestand wordt opgepikt wanneer u sed uitvoert. Als je $PATH is zoals je hebt beschreven, dan zou GNU sed voorrang moeten hebben op het native macOS sed.

Merk op dat de shell de locatie van het sed commando mogelijk al in de cache heeft opgeslagen als je het commando eerder op de commandoregel in hetzelfde shell-sessie. U kunt dan rehash in zsh gebruiken om die cache te wissen, of u kunt een nieuwe terminal openen.

Wanneer een systeem een native sed implementatie biedt die niet GNU sed is, dan is het vaak beter om GNU sed als gsed om bestaande scripts niet te verbreken op basis van gedrag dat specifiek is voor de native sed. Dit is de reden waarom het standaardgedrag van Homebrew op macOS is om GNU sed te installeren als gsed. Dit is ook de standaardmanier om GNU sed (en GNU-tools in het algemeen) te noemen op andere BSD-systemen.

Opmerkingen

  • ik heb het opgelost. Blijkbaar is het geïnstalleerd in usr/local/Cellar/gnu-sed/4.4/bin. Ik voegde toe aan het pad. Toch had ik graag gsed willen gebruiken in plaats van te veranderen wat mijn werkelijke sed deed.
  • @IshanSrivastava I ' m geen Homebrew-gebruiker, maar zou geen ' Als u installeert zonder --with-default-names kunt u GNU Sed gebruiken als gsed?
  • ik heb het geïnstalleerd met standaardnamen. Ik snap je eindelijk. Sorry voor de moeite. maar waarom werd het geïnstalleerd op zon onhandig pad als het mijne?
  • @IshanSrivastava Wat informatie hier: rkulla.blogspot.se/2014/03/the -path-to-homebrew.html

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *