O seguinte erro sempre aparece após o login e criando uma nova tela no Linux:
Bad : modifier in $ (/).
Recentemente adicionei alguns caminhos e não sei se estão relacionados.
Para os caminhos, lembro que adicionei coisas a $PATH e .bashrc.
Como posso corrigi-lo para que não apareça novamente?
Obrigado!
Comentários
Resposta
Você não usa bash como shell, mas (t)csh:
> csh % PATH="${PATH:/blah}" Bad : modifier in $ (/).
Se você deseja usar bash em vez disso, provavelmente pode executar chsh ou peça ao administrador do sistema para alterá-lo para você.
Em bash, se você desalinhar o : e coloque-o entre as chaves { } significaria que um modificador deve ser aplicado à variável. Em csh as chaves não são necessárias para aplicar um modificador e você realmente precisaria adicionar chaves se não deseja que : sinalize que um modificador o está seguindo.
Comentários
- Isso é um palpite ou um fato? É ' difícil de dizer.
- @Wildcard
bashtem mensagens de erro muito diferentes; diria: ' erro de sintaxe: operando esperado (o token de erro é " / blah ") '. Esclareci minha resposta um pouco mais.
Resposta
Você precisará escapar “:”. Portanto, seu arquivo cshrc deve ser semelhante a
setenv PATH $PATH\:/path/to/add
Depois disso, você pode fazer:
source ~/.cshrc
para aplicar alterações ao terminal atual. Ele será aplicado automaticamente na próxima vez que você abrir um novo terminal.
Comentários
- Uma sintaxe mais correta em (t) csh seria
setenv PATH ${PATH:q}:/path/to/add. Ou melhorset path = ($path:q /path/to/add)ou ainda melhor emtcsh:set -f path = ($path:q /path/to/add)para manter os elementos exclusivos.
$PATH? Você mudou seu.bashrc? Você pode postar.profilee.bashrc?$nele e o shell interpreta$como um caractere especial.