CentOS e Switching Unix Shells

0

Estou usando uma VMWare Virtual Machine com o CentOS instalado.

Estou usando o shell BASH agora, mas preciso executar um aplicativo que requer o C Shell.

Uma pessoa pode simplesmente trocar de conchas? Você precisará reinstalar todos os softwares? O software existente funciona? É assim tão fácil de trocar de conchas?

O programa que eu preciso tem um script de instalação escrito em C Shell e o programa requer que o C Shell seja executado.

    
por sheeple 07.11.2018 / 18:44

3 respostas

3

Uma aplicação (adequada) não irá exigir o C Shell; um script wrapper que usa a sintaxe csh exigirá o shell C e, nesse caso, ele deverá ter uma primeira linha que o diga:

#!/bin/csh

ou

#!/bin/tcsh

ou similar.

Você pode executar esse script a partir do bash e sem precisar alternar seu shell de login para o csh.

    
por 07.11.2018 / 18:56
1

Você pode alterar facilmente o shell de seu próprio usuário com o utilitário chamado chsh , que deve ser instalado por padrão no sistema CentOS. A sintaxe seria:

chsh -s /bin/csh OR /bin/tcsh

Antes de fazer isso, verifique se o C Shell está instalado em seu sistema, ele deve mostrar em /etc/shells como / bin/csh (ou /bin/tcsh ). Se não estiver lá, tenho certeza que você pode instalá-lo simplesmente fazendo yum install tcsh (no meu Ubuntu 16.04 LTS, ele está disponível como csh )

Você precisa fazer logout completamente do sistema e, em seguida, efetuar login novamente para que essas alterações entrem em vigor.

Se for apenas um script que você deseja executar, basta adicionar o cabeçalho shebang na parte superior do script como #!/bin/tcsh ou #!/bin/csh , dependendo do nome que estiver disponível em /etc/shells . shebang header é a primeira linha de um script.

    
por 07.11.2018 / 18:58
0

exec tcsh substitui o shell em execução atual por tcsh . e, em seguida, exec bash substituiria o shell atual por bash (preservando as variáveis de ambiente já definidas, para melhor ou para pior), se o software exigir que vários comandos source foo.cshrc sejam usados para carregar configurações de ambiente e assim por diante aplicação.

% exec bash
bash-4.2$ exec tcsh
$ exec zsh
% 

se o software funciona é uma questão bastante difícil de responder sem detalhes (veja: o problema de parada )

a mudança de shell pode se tornar mais permanente com chsh como apontado por outros.

    
por 07.11.2018 / 19:00

Tags