Amikor a következő parancsot használom
setenv CLASSPATH /path/mysql-connector-java-ver-bin.jar:$CLASSPATH
hiba
bash setenv command is not found
Ha melyik paranccsal találom meg a setenv elérési útját, akkor a következő útvonalat találtam
(/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)
Válasz
setenv
a (t)csh
, nem a bash
címre, amely az alapértelmezett shell a CentOS-ban. Használjon helyette
export CLASSPATH="/path/mysql-connector-java-ver-bin.jar:$CLASSPATH"
.
Válasz
Páros jobb, mert tisztább, használjon előtag jelölést (set
nélkül) a meghívni kívánt parancsnál:
CLASSPATH=/path/mysql-connector-java-ver-bin.jar:$CLASSPATH ANOTHER_VAR=bla ATHIRD_VAR=blu java -...
Most az általad meghívott java
folyamat képes lesz összegyűjteni az ideiglenes környezeti változó (ka) t CLASSPATH, ANOTHER_VAR
és ATHIRD_VAR
.
Ha a következőt használta: export
, akkor a változókat globálisan (?) is be fogják állítani, legalábbis a szkript környezetében. És a változók értékei, amelyek A már létező értékeket felülírják az új értékek.
Az előtag jelölésének előnyei:
- a változó korábbi értékeinek változatlanok maradnak, azaz abban az esetben, ha a régi értékeket szükséges később, akkor nem lesz szükség a már létező változók régi értékeinek mentésére annak érdekében, hogy a meghívás után helyreállíthatók legyenek
- nem kell
unset
az ideiglenes változók tisztítási célokra az invokálás után