Změna $PATH shazuje shell

robin martinez

  • *****
  • 968
  • Have you hugged your toilet today?
    • Zobrazit profil
    • Null Storage
    • E-mail
Změna $PATH shazuje shell
« kdy: 17. 09. 2015, 23:42:16 »
Čau, ve stručnosti: na počtači používám zshell a jeho nadstavbu prezto (na tom víceméně asi nezáleží), ale dnes mi terminál začal po startu ihned padat (asi nějaká aktualizace či co) a po hodinách bádání jsem přišel na to, že mám v souboru ~/.zprofile nastaveno

Kód: [Vybrat]
export PATH=/opt/local/sbin:/opt/local/lib/mariadb-10.1/bin:$PATH
export PATH=/opt/local/bin:$PATH
(tady už to mám rozdělený na dva řádky)

Nicméně pokud ten druhej odstraním/zakomentuju

Kód: [Vybrat]
export PATH=/opt/local/sbin:/opt/local/lib/mariadb-10.1/bin:$PATH
#export PATH=/opt/local/bin:$PATH


tak mi terminál naskočí. Nevíte někdo, co to sakra je za problém?
One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man.

I do Linux, Hardware and spaghetti code in PHP, Python and JavaScript


DaBler

Re:Změna $PATH shazuje shell
« Odpověď #1 kdy: 18. 09. 2015, 08:44:23 »
A nemáš ten terminál nebo jiný potřebný program právě v /opt/local/bin?

Zkus:
Kód: [Vybrat]
which zsh

robin martinez

  • *****
  • 968
  • Have you hugged your toilet today?
    • Zobrazit profil
    • Null Storage
    • E-mail
Re:Změna $PATH shazuje shell
« Odpověď #2 kdy: 18. 09. 2015, 09:28:50 »
no, je to adresář od macports, kam se na OS X instalují unixový programy ze zdrojáků, takže tam je určite TMUX, ale stejně to mám na druhým kompu a jede to bez problémů
One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man.

I do Linux, Hardware and spaghetti code in PHP, Python and JavaScript

robin martinez

  • *****
  • 968
  • Have you hugged your toilet today?
    • Zobrazit profil
    • Null Storage
    • E-mail
Re:Změna $PATH shazuje shell
« Odpověď #3 kdy: 18. 09. 2015, 09:29:35 »
jo a zsh tam samozřejmě je taky.. Nicméně to snad vadit nemá, ne?
One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man.

I do Linux, Hardware and spaghetti code in PHP, Python and JavaScript

Pavel Tisnovsky

Re:Změna $PATH shazuje shell
« Odpověď #4 kdy: 18. 09. 2015, 10:05:37 »
jo a zsh tam samozřejmě je taky.. Nicméně to snad vadit nemá, ne?

Tak si to pri jistotu vyzkousej - spust si terminal bez nastaveni toho PATH (druhy radek) a potom explicitne zkus
spustit /opt/bin/zsh, schvalne co to udela (treba nic, treba to zaloguje chyby, mozna core dump :).


robin martinez

  • *****
  • 968
  • Have you hugged your toilet today?
    • Zobrazit profil
    • Null Storage
    • E-mail
Re:Změna $PATH shazuje shell
« Odpověď #5 kdy: 18. 09. 2015, 11:18:50 »
Díky, až příjdu domů, něco zkusím. Ale hlava mi to prostě nebere
One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man.

I do Linux, Hardware and spaghetti code in PHP, Python and JavaScript

Pavel Tisnovsky

Re:Změna $PATH shazuje shell
« Odpověď #6 kdy: 18. 09. 2015, 12:01:01 »
Díky, až příjdu domů, něco zkusím. Ale hlava mi to prostě nebere

No pokud je nejaka binarka v /bin ci /usr/bin a dalsi stejne pojmenovana binarka v /opt/local/bin, tak se ti po zmene PATH
bude spoustet ta binarka v /opt/local/bin, coz muze (a nemusi) haprovat. Vsimni si, ze /opt/local/bin davas na *zacatek* PATH, takze to neni jakysi fallback ale vychozi adresar pro hledani binarek.

robin martinez

  • *****
  • 968
  • Have you hugged your toilet today?
    • Zobrazit profil
    • Null Storage
    • E-mail
Re:Změna $PATH shazuje shell
« Odpověď #7 kdy: 18. 09. 2015, 13:09:31 »
Jasne, je pravda, ze to s tou binarkou na dvou ruznych mistech me nenapadlo.

To s pozici na konci/na zacatku jsem zkousel a zkousel jsem to cpat ruzne i do ruznych souboru, ale nepomohlo.



Dik za rady :))
One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man.

I do Linux, Hardware and spaghetti code in PHP, Python and JavaScript

Re:Změna $PATH shazuje shell
« Odpověď #8 kdy: 18. 09. 2015, 13:53:53 »
Je potřeba zjistit, která binárka se spouští. Třeba z výpisu procesů. Dále existuje příkaz which, který řekně, která binárka se bude spuštět (ještě než se spustí). Takže třeba

Kód: [Vybrat]
ondrej@test ~$ which sh
/usr/bin/sh