Nossa empresa usa o sistema linux da red hat e aloca para todos uma conta em / home. Infelizmente, nosso sistema está usando o tsch, o que não é favorável para mim. Além disso, como não tenho a permissão de superusuário, não posso usar o comando chsh para mudar para o bash por mim mesmo. Pior ainda, o ypchsh também não está disponível para mim. Então, finalmente, adiciono as seguintes linhas no .cshrc:
bash
echo $0
e configure o .bashrc adequadamente (copiando do .cshrc original e corrigindo o erro de sintaxe necessário). Agora, o aparente shell se torna bash (como pode ser mostrado no comando "echo $ 0").
Agora, o problema surge:
Quando uso o vim para editar um arquivo cpp (por exemplo, Hello_World) e uso ":! G ++ -g Hello_World.cpp -o hw.out" no vim para compilar o arquivo, nenhum resultado será mostrado e o vim é encerrado com "bash" mostrado (como quando um terminal está aberto), mas sem o habitual "pressione uma tecla" para voltar ao meu trabalho no vim. Na pasta Hello_World.cpp, há um arquivo .Hello_World.cpp.swp, mas não hw.out. Quando o vim Hello_World.cpp novamente, verifica-se que esse arquivo cpp foi aberto.
No entanto, se eu g ++ o arquivo cpp na pasta, mas não usando o vim e:!, Tudo está bem. De fato, :! agora parece ser ilegal para o vim.
Se eu usar o tcsh original, tudo ficará bem.
Como posso corrigir esse erro curioso?
Agradecemos sua ajuda antecipada.
qing
BTW: Eu prefiro o bash ao tcsh principalmente devido à sua conveniência de HISTIGNORE e HISTCONTROL, embora o tcsh também tenha a configuração histdup.
Achei o seguinte um pouco útil, mas ainda não satisfatório para o meu problema.
chsh
para alterar seu shell de login.