suの後にマニュアルページの完成が失敗するのはなぜですか?

suの後にマニュアルページの完成が失敗するのはなぜですか?

私のデフォルトのインストールはDebian 8.1です。はい

su
man apt<TAB>

しかし、何も得られませんでした。ユーザーmasとrootの2つのモードで作成するときにマニュアルを表示しますman apt-get。ただし、タブ補完はユーザーモードでのみ機能します。

ルートでmanを実行した後にテーブルの完成を有効にする方法は?この機能がデフォルトで無効になっているのはなぜですか?

ベストアンサー1

実行すると、su非ログインモードでbashが呼び出されます。その後、Bash は.bashrcその環境を読み、設定します。

実行すると、su -bashはログインシェルとして呼び出されます。このモードでは、/etc/profile存在する場合に実行されます。 Bashはまた、~/.bash_profile見つかった最初のファイルを検索して実行します。文書化されていないが、これらのいずれも存在しない場合に実行されるようです。~/.bash_login~/.profile~/.bashrc

他の動作が発生した場合は、bashの呼び出し方法に応じて異なるファイルを使用してbashを初期化できます。

echo .bashrc既存のファイルの末尾に同様の行を追加して、どのファイルを呼び出すかをテストしました。これにより、どの設定が呼び出されるかが表示されます。

マニュアルページのINVOCATIONセクションにこの動作の詳細がありますbash

ではタブ補完機能を使用できますが、bash通常、シェルではシェルを使用できない場合がありますsh。ユーザーは通常これをシェルとして使用します。 rootshbashbash

bashrootタブを完成させる前にやったように実行してみてください。これにより、タブ補完が有効になります。

おすすめ記事