Yanıtlar:
Komut dosyasını env -içalıştırmadan önce ortamı temizleyecek komut dosyanızın önüne ön ek ekleyebilirsiniz :
env -i sh test.sh
Gönderen man env:
-i, --ignore-environment
start with an empty environment
Bunu neden yapmak isteyeceğinizden emin değilim ...
chsh .... Eğer sadece bir terminal penceresi açar ve çalıştırırsam zshveya fish(önemli olan veya olmayan -l), ortamımı her türlü değişkenle kirletir kabuk ben başlattım ile hile yapmak. env -cBenim için çözer bu sorunu ben biliyorum. env -i TERM=xterm-256color $(which fish).
Bir olasılık (oldukça çirkin görünse de):
exec -c $SCRIPT$ SCRIPT boş bir ortamla başlayacaktır. ( man basharamaya bakın exec \[-cl\]).
Bildiğim kadarıyla cevap "Hayır". Betiğin içindeki çevresel değişkenleri geçersiz kılabilirsiniz. Ortam değişkeninin değeri, komut dosyası çalıştıktan sonra orijinal değerine geri dönmelidir. Büyük olasılıkla betiği bir alt işlem olarak çalıştırmanız gerekir: $ this.script.sh & böylece ortam değişkenlerinizi orijinal değerlerine sıfırlamak için betiğinizi çalıştırdığınızda tek seferde kabuğunuzdan çıkış yapmak zorunda kalmazsınız.
Düzenle:
Daha önceki bir posterden, bunun mümkün olmadığı konusunda yanıldığım anlaşılıyor.