ssh等でログインすると、ログインシェルである bash がいろいろな補完関数を自動で読み込みます。
Ctrl-iでコマンドラインのいろいろなファイル名、ディレクトリ名などを補完してくれる便利なものなのですが、そんなにたくさんあっても煩わしいので読み込まないようにします。
下記の3か所を修正してみます(3つ目の/etc/skel/.bashrcはadduserコマンドでユーザーを追加する際にコピーされるデフォルト環境、必要に応じてどうぞ)。

/etc/profile.d/bash_completion.sh

ログインしてbashが起動すると /etc/profile が最初に読み込まれ、さらにその中から上記の bash_completion.sh 読み込まれ補完関数が展開されます。
下記の設定により bash_completion.sh を読み込まないようにします。
/etc/profile 本体を修正すると変更量が多くなるので、読み込まれる側のスクリプトのパーミッションを変更して読み込まれないようにします。

$ su
# chmod 000 /etc/profile.d/bash_completion.sh

$HOME/.bashrc

ログインユーザーのホームディレクトリにあるスクリプトです。
デフォルトでは /etc/bash_completion を読み込んで補完関数を定義しています。
.bashrc の最後のほうにある下記の3行をコメントアウトして、補完関数を読み込まないようにします。

$ diff .bashrc.orig .bashrc
< if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
<     . /etc/bash_completion
< fi
---
> #if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
> #    . /etc/bash_completion
> #fi

/etc/skel/.bashrc

adduserコマンドでユーザー追加時に使用されるデフォルト環境のスクリプトです。
変更方法は、先ほどの $HOME/.bashrc と同様です。
ここは必要に応じて実施するのがよいでしょう。

備考


*1 そうはいってもLinuxぶっこんで個人で遊ぶには十分

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-02-15 (火) 10:06:52