bash setenv comando não foi encontrado

9

Quando estou usando o seguinte comando

         setenv CLASSPATH /path/mysql-connector-java-ver-bin.jar:$CLASSPATH

erro é

        bash setenv command is not found

Quando eu encontro o caminho do setenv pelo comando, então eu encontrei o seguinte caminho

 (/usr/kerberos/sbin:/usr/kerberos/bin:/home/ec2/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/home/ec2/bin:/root/bin)
    
por Rui F Ribeiro 31.07.2013 / 09:17

2 respostas

13

setenv pertence a (t)csh , não a bash , que é o shell padrão no CentOS. Use

export CLASSPATH="/path/mysql-connector-java-ver-bin.jar:$CLASSPATH"

em vez disso.

    
por 31.07.2013 / 09:23
2

Ainda melhor, porque mais limpo, use a notação de prefixo (sem set ) no comando que você deseja invocar:

CLASSPATH=/path/mysql-connector-java-ver-bin.jar:$CLASSPATH ANOTHER_VAR=bla ATHIRD_VAR=blu java -...

Agora, o processo java que você invocar poderá coletar suas variáveis de ambiente temporárias CLASSPATH, ANOTHER_VAR e ATHIRD_VAR .

Se você usou export , as variáveis também serão definidas globalmente (?), pelo menos no ambiente do script. E os valores das variáveis que já existiam seriam sobrescritos pelos novos valores.

Vantagens da notação de prefixo:

  • os valores anteriores de uma variável devem permanecer inalterados, ou seja, caso os valores antigos sejam necessários mais tarde, não haverá necessidade de salvar os valores antigos das variáveis que já existiam para restaurá-los após a invocação
  • não é necessário unset suas variáveis temporárias para fins de limpeza após a chamada
por 08.03.2016 / 15:45