su - on Archを介してログインすると、.bash_profileのexec env -i /bin/bashがバックグラウンドに移動して終了するのはなぜですか?

su - on Archを介してログインすると、.bash_profileのexec env -i /bin/bashがバックグラウンドに移動して終了するのはなぜですか?

私はLFSの本に従い、アーチ(bash 5)で次の.bash_profileを使用してきれいなシェルを取得しようとしています。

exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash

通常、次のようにログインできます。

su - lfs

ただし、何らかの理由でシェルが直ちに終了し、次のような結果が表示されます。

[1]+  Stopped                 su - lfs

以下を使用してセッションに入ることができます。

fg

ところで二度やめなければなりませんでした。 exec 文書と env 文書は、LFS が提供するコマンドと一致しているようです。これは、3つの変数(HOME、TERM、およびPS1)を含むbash環境のみを生成する必要があることです。 bashをログインできるよりクリーンなバージョンにどのように置き換えることができますか?

答え1

Arch Linux が提供する bash が使用されます-DSYS_BASHRC=\'\"/etc/bash.bashrc\"\'(該当する内容を参照)。PKGビルドファイル)、これは提供されています/etc/bash.bashrc

このセクションの最後に追加された警告の説明に従って4.4 「環境設定」このファイルはlfsユーザーエクスペリエンスに影響を与える可能性があります。

/etc/bash.bashrc一部の商用ディストリビューションでは、初期化時に文書化されていないインスタンス化を追加します。 bash。このファイルは変更できます。自由度ユーザーエクスペリエンスの動作方法は、重要なLFSパッケージ構成に影響を与える可能性があります。確認してください自由度ユーザーの環境がきれいであること、存在することを確認し/etc/bash.bashrc、存在する場合は遠くに移動します。

これが特定の問題の原因であるかどうかはわかりません。私のArch Linuxシステムでは問題を再現することはできませんが、更新されたLFSガイドラインで提案されているようにファイルを別の場所に移動すると問題が解決する可能性があります。

関連情報