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
bash
tem 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.profile
e.bashrc
?$
nele e o shell interpreta$
como um caractere especial.