O comando bash setenv não foi encontrado


10

Quando estou usando o seguinte comando

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

erro é

        bash setenv command is not found

Quando encontro o caminho de setenv por qual comando, 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)

Respostas:


15

setenvpertence a (t)csh, ao bashqual não é o shell padrão no CentOS. Usar

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

em vez de.


3

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

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

Agora, o javaprocesso que você chamar poderá reunir suas variáveis ​​de ambiente temporárias CLASSPATH, ANOTHER_VARe 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 substituídos 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 posteriormente, não será necessário salvar os valores antigos das variáveis ​​que já existiam para restaurá-los após a chamada.
  • não há necessidade de unsetsuas variáveis ​​temporárias para fins de limpeza após a chamada
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.