找不到bash setenv命令


10

当我使用以下命令时

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

错误是

        bash setenv command is not found

当我通过哪个命令找到setenv的路径时,我发现了以下路径

 (/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)

Answers:


15

setenv属于(t)csh,而不是bashCentOS的默认外壳。采用

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

代替。


3

更好,因为更干净,请set在要调用的命令上使用前缀表示法(不带):

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

现在,java您调用的过程将能够收集您的临时环境变量CLASSPATH, ANOTHER_VARATHIRD_VAR

如果使用export,那么变量也将至少在脚本环境中全局设置(?)。并且,已经存在的变量的值将被新值覆盖。

前缀表示法的优点:

  • 变量的先前值应保持不变,即在以后需要使用旧值的情况下,则无需保存已存在的变量的旧值以在调用后恢复它们
  • unset调用后无需清理临时变量
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.