no se encuentra el comando bash setenv

10

Cuando estoy usando el siguiente comando

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

el error es

        bash setenv command is not found

Cuando encuentro la ruta de setenv por qué comando, entonces encontré la siguiente ruta

 (/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)
Rui F Ribeiro
fuente

Respuestas:

15

setenvpertenece (t)csh, no a bashcuál es el shell predeterminado en CentOS. Utilizar

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

en lugar.

Janne Pikkarainen
fuente
3

Aún mejor porque más limpio, use la notación de prefijo (sin set) en el comando que desea invocar:

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

Ahora el javaproceso que invoque podrá recopilar sus variables de entorno temporales CLASSPATH, ANOTHER_VARy ATHIRD_VAR.

Si lo usó export, las variables también se establecerán globalmente (?), Al menos en el entorno del script. Y, los valores de las variables que ya existían serían sobrescritos por los nuevos valores.

Ventajas de la notación de prefijo:

  • los valores anteriores de una variable deben permanecer sin cambios, es decir, en el caso de que los valores antiguos se necesiten más adelante, entonces no habría necesidad de guardar los valores antiguos de las variables que ya existían para restaurarlas después de la invocación
  • no es necesario usar unsetsus variables temporales para fines de limpieza después de la invocación
usuario160163
fuente