Saya memiliki beberapa proyek yang mengharuskan saya untuk mengubah versi Java / Grails / Maven. Saya mencoba menangani ini dengan beberapa skrip yang akan membuat perubahan. Sebagai contoh:
#!/bin/sh
export JAVA_HOME=/cygdrive/c/dev/Java/jdk1.5.0_22
export PATH=$JAVA_HOME/bin:$PATH
export GRAILS_HOME=/cygdrive/c/dev/grails-1.0.3
export PATH=$GRAILS_HOME/bin:$PATH
export MAVEN_HOME=/cygdrive/c/dev/apache-maven-2.0.11
export PATH=$MAVEN_HOME/bin:$PATH
which java
which grails
which mvn
Ketika ini dijalankan, itu berhasil mengubah PATH dalam konteks skrip, tetapi kemudian skrip berakhir, dan tidak ada perubahan yang dilakukan.
Bagaimana saya bisa menjalankan skrip dengan cara mengubah PATH untuk shell di mana saya saat ini bekerja?
Saya menggunakan Cygwin.
sumber
source
hanya berfungsi untukbash
. Output untukksh
:/bin/ksh: source: not found
, untuksh
:sh: 0: source: not found
. Jawaban di bawah ini harus dipertimbangkan untuk cangkang ini.bash
sentris.Anda bisa melakukannya dengan menggunakan sumber bawaan:
Beberapa cangkang menyediakan sumber bernama alias :
sumber
diinstal Chocolatey @ unix, Anda bisa menjalankan RefreshEnv untuk mendapatkan variabel lingkungan yang diperbarui ke sesi Anda saat ini
detail
sumber