Gerektiğinde bazı ortam değişkenlerini ayarlamak için aşağıdaki betiği yazdım.
#!/bin/sh
export BASE=/home/develop/trees
echo $BASE
export PATH=$PATH:$BASE
echo $PATH
Komutun ve terminalimde görebildiğim sonuçların altında: komut dosyası çalışıyor, ancak değişkenler sonunda ayarlanmadı.
~$: ./script.sh
/home/develop/trees
/bin:......:/home/develop/trees
~$: echo $BASE
~$:
Sorun nedir? Şimdiden teşekkürler. Mirko
export
Değişkenleri alt kabuklara aktarmanız gerekmez , alt kabuk, değişkenler ve işlevler dahil olmak üzere geçerli kabuğunuzun bir kopyasıdır. Dışa aktarılan değişkenler, o işlemin başka bir kabuk olmasına bakılmaksızın, kabuktan alınan yeni işlemlere kopyalanır. İkincisi,.
kaynak bulma için POSIX komutudur. Bashsource
bunun için daha okunaklı bir eşanlamlı olarak ekler , ancak sh konumunda mevcut olduğuna güvenemezsiniz. Son olarak. ./script
yerine. script
Sürprizleri kaçınmak istiyorsanız. mywiki.wooledge.org/BashFAQ/060