bash setenv 命令未找到

bash setenv 命令未找到

当我使用以下命令时

         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)

答案1

setenv属于(t)csh,而不属于bashCentOS 中的默认 shell。使用

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

反而。

答案2

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

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

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

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

前缀表示法的优点:

  • 变量的先前值应保持不变,即在以后需要旧值的情况下,则无需保存已存在的变量的旧值以便在调用后恢复它们
  • unset调用后不需要对临时变量进行清理

相关内容