setenv não está funcionando no tcsh

2

Estou tentando instalar um programa em meus novíssimos CentOs. A instalação requer setenv , o que aparentemente não funciona, nem mesmo no shell tcsh.

Alguém pode me dar algum conselho?

[Anna@anna xd-demo] ./setup.csh

Configuring shell for the XD2006 :
./setup.csh: line 7: setenv: command not found
./setup.csh: line 8: setenv: command not found
./setup.csh: line 9: setenv: command not found
./setup.csh: line 10: setenv: command not found
./setup.csh: line 11: syntax error near unexpected token '('
./setup.csh: line 11: 'set path=( $XD_ROOT/bin $XD_ROOT/lib/xd $XD_ROOT/lib/xdgraph $path )'
[Anna@anna xd-demo]$ echo $shell
/bin/tcsh
    
por Anna 10.07.2014 / 14:23

1 resposta

0

Este script não está sendo executado pelo tcsh. Você executou o comando ./setup.csh do tcsh, mas esse é um comando separado, executado em seu próprio processo. Não há nenhuma razão para o que você mostrou que o script seria executado no tcsh. O comando setenv não foi encontrado porque algum interpretador diferente está executando o script. Como evidência adicional, as mensagens de erro são consistentes com a formatação de mensagens de erro do bash, dash e ksh, mas não com as do tcsh.

Este é um bug no script. Ele deve começar com uma linha shebang indicando qual interpretador (shell) o script foi criado. Um script tcsh deve começar com a linha

#!/usr/bin/env tcsh

Adicione esta linha (deve ser a primeira linha; note que o arquivo não deve ter finais de linha do Windows, portanto, tome cuidado se você usar um editor do Windows, ou melhor, use um editor do Linux). Alternativamente, se você preferir não editar o arquivo, você pode invocar o tcsh explicitamente:

tcsh ./setup.csh

Você pode fazer isso de qualquer shell, você não precisa usar o tcsh interativamente se não quiser.

    
por 10.07.2014 / 14:36