#author("2020-03-21T14:20:57+00:00","","")
#topicpath

///////////////////////////////////////////////////////////////////////////////
* 目次 [#w130cf32]
#contents();

///////////////////////////////////////////////////////////////////////////////
* command-not-found [#i416b93c]
//=============================================================================
** command-not-found とは [#l342fbfd]
- shell でコマンドを打ち間違えて、存在しないコマンド名を実行しようとした際、ディストリビューション(例えばUbuntuなど)によっては暫く待たされた挙句、以下のようなメッセージが出てくることがある:
-- 管理者グループに属するユーザの場合
 $ sl
 プログラム 'sl' はまだインストールされていません。 次のように入力することでインストールできます:
 sudo apt install sl
-- 管理者グループに属さないユーザの場合
 $ sl
 プログラム 'sl' はまだインストールされていません。 'sl' を利用するために,コンピュータの管理者に 'sl' をインストールすることを相談してください

- これは、 command-not-found というパッケージによって実現されている機能。bash に command_not_found_handle という関数が用意されていて、そこから呼び出されている。
- Ubuntuのbashパッケージが提供する/etc/bash.bashrcには最初から command-not-foundがインストール済みならcommand_not_found_handleを定義するスクリプトが組み込まれている。この為、ユーザーが特に設定せずともcommand-not-foundが呼び出されるようになっている。

//=============================================================================
** command-not-found を無効化する [#l08325a8]
command-not-found を無効化するには、以下の何れかを行う:
- command-not-found パッケージを削除する
- パッケージの管理権限や /etc/bash.bashrc を編集する権限がない場合は、 ${HOME}/.basrc の最後に以下の行を追加する:
 unset command_not_found_handle

///////////////////////////////////////////////////////////////////////////////
* 参考リンク [#fc76a227]
- [[Ubuntu Weekly Recipe 第516回 command-not-found再発見>https://gihyo.jp/admin/serial/01/ubuntu-recipe/0516]]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS