ไม่พบคำสั่ง 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)

คำตอบ:


15

setenvเป็นของ(t)cshไม่ใช่bashเชลล์เริ่มต้นใน CentOS ใช้

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กระบวนการคุณเรียกจะสามารถที่จะรวบรวมตัวแปรสภาพแวดล้อมชั่วคราวของคุณ (s) และCLASSPATH, ANOTHER_VARATHIRD_VAR

หากคุณใช้exportตัวแปรจะถูกตั้งค่าเป็นโกลบอล (?) อย่างน้อยในสภาพแวดล้อมของสคริปต์ และค่าของตัวแปรที่มีอยู่แล้วจะถูกเขียนทับโดยค่าใหม่

ข้อดีของสัญกรณ์นำหน้า:

  • ค่าก่อนหน้าของตัวแปรควรไม่เปลี่ยนแปลงเช่นในกรณีที่จำเป็นต้องใช้ค่าเก่าในภายหลังจากนั้นไม่จำเป็นต้องบันทึกค่าเก่าของตัวแปรที่มีอยู่แล้วเพื่อคืนค่าหลังจากการเรียกใช้
  • ไม่จำเป็นต้องใช้unsetตัวแปรชั่วคราวของคุณเพื่อวัตถุประสงค์ในการล้างข้อมูลหลังจากการร้องขอ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.