Saya telah menulis skrip berikut untuk mengatur beberapa variabel lingkungan saat diperlukan.
#!/bin/sh
export BASE=/home/develop/trees
echo $BASE
export PATH=$PATH:$BASE
echo $PATH
Di bawah perintah dan hasil yang dapat saya lihat di terminal saya: skrip berjalan, tetapi variabel tidak diatur di akhir.
~$: ./script.sh
/home/develop/trees
/bin:......:/home/develop/trees
~$: echo $BASE
~$:
Apa yang salah? Terima kasih sebelumnya. Mirko
export
meneruskan variabel ke subkulit, subkulit adalah salinan dari shell Anda saat ini, termasuk variabel dan fungsi dll. Variabel yang diekspor akan disalin ke proses baru yang dihasilkan dari shell, terlepas dari proses itu menjadi shell lain atau tidak. Kedua,.
adalah perintah POSIX untuk sumber. Bash menambahkansource
sebagai sinonim yang lebih mudah dibaca untuknya, tetapi Anda tidak dapat mengandalkannya yang tersedia di sh. Terakhir. ./script
alih-alih. script
jika Anda ingin menghindari kejutan. mywiki.wooledge.org/BashFAQ/060