Apa perbedaan antara `VAR = ...` dan `export VAR = ...`?

11

Apa perbedaan dalam melakukan

$ MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=384m"

untuk melakukan

$ export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=384m"

dan apakah ada efek samping dari melakukan koneksi SSH?

Pomario
sumber

Jawaban:

10

Yang pertama mengatur nilai ke variabel. Misalnya yang bisa Anda lakukan

echo $MAVEN_OPTS

dan minta itu mengembalikan nilainya tetapi jika Anda akan mengeluarkannya di luar shell Anda, Anda akan memiliki string kosong yang dikembalikan.

Datang export.

Ekspor adalah instruksi ke shell. Ia memberi tahu shell untuk membuat variabel lingkungan ini tersedia untuk program lain. Tanpa ekspor, mereka hanya tersedia di dalam shell itu sendiri.

Jika Anda ingin variabel yang akan secara permanen tersedia ssh membaca ~/.ssh/environment, ssh2membaca /etc/environmentdan ~/.ssh2/environment, dan menambahkan baris format VARNAME = nilai ke lingkungan. Dari sshhalaman manual .

Rinzwind
sumber
Padahal, jika saya mengeluarkan ekspor dalam koneksi SSH dan disconnect, variabel itu tidak akan tersedia untuk koneksi berikutnya. bagaimana cara membuatnya permanen?
Pomario
Tentu saja tidak :) @pomario menambahkan metode ssh dan ssh2 untuk menambahkan envs!
Rinzwind
Tidak, tunggu! :) Yang saya maksud adalah, saya terhubung ke server menggunakan SSH dan saya ingin menambahkan variabel lingkungan yang akan dapat diakses ke antarmuka web Jenkins. apakah ada cara untuk mencapai ini?
Pomario
7
MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=384m"

Menetapkan variabel shell bernama MAVEN_OPTS. Mungkin diikuti oleh export MAVEN_OPTSperintah untuk membuat variabel ini tersedia sebagai variabel lingkungan untuk program anak, atau perintah shell yang menggunakannyajava $MAVEN_OPTS ...

export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=384m"

Menetapkan variabel lingkungan bernama MAVEN_OPTS. Variabel lingkungan ini juga tersedia untuk program anak.

Tidak ada efek samping kecuali untuk itu beberapa batas memori java disesuaikan untuk maven(sistem build iirc).

Lekensteyn
sumber
Sialan itu Lekensteyn. Itulah ke-4 kalinya hari ini. Pergi lakukan sesuatu yang lain! >: D
Rinzwind
@Rinzwind Melakukannya di #bumblebee di Freenode IRC: P
Lekensteyn
Lebih dari 2 jawaban yang baik bukanlah hal yang buruk :)
Tachyons