Perintah bash setenv tidak ditemukan


10

Ketika saya menggunakan perintah berikut

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

kesalahan adalah

        bash setenv command is not found

Ketika saya menemukan path setenv dengan perintah mana, maka saya menemukan path berikut

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

Jawaban:


15

setenvmilik (t)csh, bukan bashyang merupakan shell default di CentOS. Menggunakan

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

sebagai gantinya.


3

Bahkan lebih baik karena lebih bersih, gunakan notasi awalan (tanpa set) pada perintah yang ingin Anda panggil:

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

Sekarang javaproses yang Anda panggil akan dapat mengumpulkan variabel lingkungan sementara Anda CLASSPATH, ANOTHER_VARdan ATHIRD_VAR.

Jika Anda menggunakan export, maka variabel juga akan ditetapkan secara global (?), Setidaknya di lingkungan skrip. Dan, nilai-nilai variabel yang sudah ada akan ditimpa oleh nilai-nilai baru.

Keuntungan dari notasi awalan:

  • nilai-nilai sebelumnya dari suatu variabel harus tetap tidak berubah, yaitu dalam kasus nilai-nilai lama diperlukan nanti, maka tidak perlu menyimpan nilai-nilai lama dari variabel yang sudah ada untuk mengembalikannya setelah doa
  • tidak perlu unsetvariabel sementara Anda untuk keperluan pembersihan setelah doa
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.