Používám oh my zsh. V regulárních výrazech nemohu použít některé příkazy, které bych mohl udělat na ubuntu, např. Nainstaloval jsem home-brew a poté brew install gnu-sed --default-names
, ale přesto nemohu použít příkaz sed. Moje proměnná $ PATH je trochu pokazená a nejsem si jistý, jak ji opravit.
/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
Co mám dělat, abych mohl použít všechny příkazy gnu bez potíží na mém počítači Mac? Dejte mi prosím také seznam příkazů, u kterých musím použít příkaz gnu místo výchozího, např. gsed
místo sed
atd.
Komentáře
- Související: stackoverflow.com/questions/30003570 / …
Odpověď
Jak bylo uvedeno v jiné otázce , pokud instalujete GNU sed
pomocí Homebrew s --with-default-names
, poté se nainstaluje jako /usr/local/bin/sed
.
Bez --with-default-names
se nainstaluje jako /usr/local/bin/gsed
.
Pokud je nainstalován jako sed
, pak záleží na vašem $PATH
co sed
binární soubor se vyzvedne při spuštění sed
. Pokud je váš $PATH
takový, jaký jste popsali, měl by mít GNU sed
přednost před nativním macOS sed
.
Všimněte si, že prostředí mohlo mít mezipaměť umístění příkazu sed
, pokud jste již dříve použili příkaz na příkazovém řádku ve stejném relace prostředí. Potom můžete použít rehash
v zsh
k vymazání mezipaměti nebo k otevření nového terminálu.
Když systém poskytuje nativní sed
implementaci, která není GNU sed
, pak je často lepší nainstalovat GNU sed
as gsed
nerozbít existující skripty spoléhající se na chování specifické pro nativní sed
. Proto je výchozím chováním Homebrew v systému macOS instalace GNU sed
jako gsed
. Toto je také výchozí způsob pojmenování GNU sed
(a nástrojů GNU obecně) na jiných systémech BSD.
Komentáře
- vyřešil jsem to. Zřejmě byl nainstalován v
usr/local/Cellar/gnu-sed/4.4/bin
. Přidal jsem k cestě. Přesto bych chtěl použít gsed místo toho, abych změnil to, co můj skutečný sed. - @IshanSrivastava I ' m žádný uživatel Homebrew, ale nechtěl ' Instalace bez
--with-default-names
vám umožní používat GNU Sed jakogsed
? - Nainstaloval jsem jej s výchozími názvy. konečně tě dostanu. omlouvám se za potíže. ale proč se to nainstalovalo na tak nepříjemnou cestu, jako je ta moje?
- @IshanSrivastava Nějaké informace zde: rkulla.blogspot.se/2014/03/the -path-to-homebrew.html