Saya menghadapi masalah aneh. Saya sudah vm dengan solaris 11, dan mencoba menulis beberapa skrip bash.
jika, pada shell, saya ketik:
export TEST=aaa
dan kemudian jalankan:
set
Saya benar melihat variabel lingkungan baru bernama TEST yang nilainya aaa. Namun, jika pada dasarnya saya melakukan hal yang sama dalam sebuah skrip. ketika skrip berakhir, saya tidak melihat set variabel. Untuk membuat contoh nyata, jika dalam file test.sh saya punya:
#!/usr/bin/bash
echo 1: $TEST #variable not defined yet, expect to print only 1:
echo 2: $USER
TEST=sss
echo 3: $TEST
export TEST
echo 4: $TEST
itu mencetak:
1:
2: daniele
3: sss
4: sss
dan setelah eksekusi, TEST tidak diatur dalam shell. Apakah saya melewatkan sesuatu? Saya mencoba keduanya untuk melakukan ekspor TEST = sss dan set variabel / ekspor terpisah tanpa perbedaan.
Untuk membuat variabel Anda terlihat, Anda perlu
source
skrip yang mengekspor variabel Anda. Lihatman source
.sumber
help source
di bash sebagai gantinya.