Následující chyba se vždy objeví kdykoli po přihlášení a vytvoření nové obrazovky v systému Linux:
Bad : modifier in $ (/).
Nedávno jsem přidal několik cest a nevím, jestli to souvisí.
Pamatuji si, že pro cesty jsem přidal věci do $PATH a .bashrc.
Jak jej mohu opravit, aby se znovu neobjevil?
Děkujeme!
Komentáře
Odpověď
Nepoužíváte bash jako svůj shell, ale (t)csh:
> csh % PATH="${PATH:/blah}" Bad : modifier in $ (/).
Chcete-li místo toho použít bash, můžete pravděpodobně spustit chsh nebo požádejte správce systému, aby to pro vás změnil.
Pokud byste v bash nesprávně zarovnali : a umístěte jej do složených závorek { } znamenalo by to, že modifikátor má být použito na proměnnou. V csh nejsou složené závorky potřebné k použití modifikátoru a ve skutečnosti je potřeba přidat složené závorky, pokud ne chcete, aby : signalizoval, že jej sleduje modifikátor.
Komentáře
- Je to odhad nebo fakt? Je ' těžké to zjistit.
- @Wildcard
bashmá velmi odlišné chybové zprávy; říkalo by se: ' syntaktická chyba: očekává se operand (token chyby je " / blah ") '. Upřesnil jsem svou odpověď ještě víc.
Odpovědět
Budete muset uniknout „:“. Váš soubor cshrc by tedy měl vypadat,
setenv PATH $PATH\:/path/to/add
Poté můžete provést,
source ~/.cshrc
aplikuje změny na aktuální terminál. Automaticky se použije při příštím otevření nového terminálu.
Komentáře
- Správnější syntaxe v (t) csh by byla
setenv PATH ${PATH:q}:/path/to/add. Nebo lépeset path = ($path:q /path/to/add)nebo ještě lépe vtcsh:set -f path = ($path:q /path/to/add), aby byly prvky jedinečné.
$PATH? Změnili jste.bashrc? Můžete zveřejnit své.profilea.bashrc?$a pláštěm interpretuje$jako speciální znak.