端末のカスタム「コマンドが見つかりません」というプロンプトを作成したいと思います。これ。テンプレートを設定しました。
__________________________________________________ /ターミナルを使用しようとしています...\ |コマンドが見つかりません:| | |xxx| | ______ ____________________________________/ V ╭─╮ ⌾ ⌾ │▕│ ╰─╯
「xxx」が間違ったコマンドに変わりたい。どうすればいいですか?
答え1
bashがコマンド名を見つけられない場合は、この機能を実行してください。command_not_found_handle
元のコマンドとそのパラメータを引数として使用します。だから自分自身を定義します。~/.bashrc
stdoutではなくstderrとして印刷し、同じ終了ステータスを返す必要があります。そうしないと、そのbashインスタンス内で実行されているシェルスクリプトの断片が中断される可能性があります。
command_not_found_handle () {
local cmd
printf -v cmd "%-40s" "${1:0:40}"
cat >&2 <<EOF
___________________________________________
/ I see you're trying to use the terminal … \
| Command not found: |
| |
| $cmd |
| |
_____ ____________________________________/
v
╭─╮
⌾ ⌾
│▕│
╰─╯
EOF
return 127
}