如果我在bash腳本定義的函數,例如,envsetup.sh過時的功能保持在bash環境
function blabla()
{
echo "blabla"
}
然後我通過
. envsetup.sh
來源它有布拉布拉功能我的環境使用。但是,如果我刪除此函數並再次獲取它,那麼blabla函數仍然存在。
爲什麼它不被刪除?
如果我在bash腳本定義的函數,例如,envsetup.sh過時的功能保持在bash環境
function blabla()
{
echo "blabla"
}
然後我通過
. envsetup.sh
來源它有布拉布拉功能我的環境使用。但是,如果我刪除此函數並再次獲取它,那麼blabla函數仍然存在。
爲什麼它不被刪除?
它仍然是相同 Bash進程,並運行您的envsetup.sh
只是簡單地修改該進程。如果你調用了一個新的Bash shell並且在那裏運行你的腳本,那麼你的函數就不存在了。
你可以在你的shell腳本思想中刪除那個函數。您可以通過這樣做:
unset -f blabla
檢查採購的腳本是什麼意思... –