bash_completionスクリプトが環境で永続するのはなぜですか?

bash_completionスクリプトが環境で永続するのはなぜですか?

export誤って私のコンソールエミュレータ(Bashを実行)にコマンドを入力したところ、export -pすべてのbash_completionスクリプトが再起動後も私の環境に残ります。タスクを元に戻したいのですが、数時間経ってもまだ実行されません。私は/etc/bash.bashrcでそれらを見つけましたが、どこから来たのかわかりませんでしたexport

これはKnoppixの下のルートではなくアカウントにありますknoppix。ルートアカウントを持っている場合、su -そのような問題はありません。

[更新:私が何を言っているのかわかりません。 「環境」とは、関数がset表示されるBash組み込み関数の出力を意味します。とにかく、Makefileで特定の値の生成をテストするために使用していましたが、env突然出力にこれらのすべての機能が表示されて驚きました。setその後、再起動後にコマンドラインで確認しましたが、まだ表示されていますが、Makefileで確認しようとしませんでした(もう表示されずエクスポートされませんでしたので、問題は解決しましたsetexport見るまでこれに気づいていませんでしたが、make setbashのドキュメントは動作と一致しないようですexport

答え1

すべての変数を一覧表示しenvunset $VARIABLEそれを使用して環境から不要な変数をすべて削除して問題を解決できます。たとえば、PATHの設定を解除するとコマンド/アプリケーションを実行できないため、正しい変数を設定解除するように注意する必要があります。

これはbash_completionスクリプトの問題を説明していませんが、予期しないexport

関連情報