Ctrl-Lを使用しています BASHで画面をクリアしましたが、何らかの理由で機能しなくなりました。 Ctrl-Lを押すと 、画面をクリアする代わりに、新しい行が作成されます。問題は、BASHの最近の更新(バージョン3.1からバージョン4.3へ、Shellshockの脆弱性を修正する)が原因である可能性があります。 )。しかし、ご存知のとおり、不器用なシェルで作業するのは非常に難しいので、 Ctrl-Lに戻る必要があります。 画面をクリアします。グーグルで調べて、以下の解決策を見つけました。
Ctrl-L 画面をクリアするためにバインドする必要があり、「バインド」を使用して実現できます Linuxの‘コマンド。 Ctrl-Lかどうかを確認します 以下のコマンドを使用して画面をクリアするようにバインドされています。
$ bind -P
上記のコマンドは、さまざまな機能にバインドされているすべてのキーを表示します。サンプル出力は以下のとおりです。
abort can be found on "\C-g", "\C-x\C-g", "\e\C-g". accept-line can be found on "\C-j", "\C-m". alias-expand-line is not bound to any keys arrow-key-prefix is not bound to any keys backward-byte is not bound to any keys backward-char can be found on "\C-b", "\eOD", "\e[D". backward-delete-char can be found on "\C-h", "\C-?". backward-kill-line can be found on "\C-x\C-?". backward-kill-word can be found on "\e\C-h", "\e\C-?". backward-word can be found on "\e[1;5D", "\e[5D", "\eb". beginning-of-history can be found on "\e<", "\e[5~". beginning-of-line can be found on "\C-a", "\eOH", "\e[1~", "\e[H". call-last-kbd-macro can be found on "\C-xe". capitalize-word can be found on "\ec". character-search can be found on "\C-]". character-search-backward can be found on "\e\C-]". clear-screen can be found on "\C-l". complete can be found on "\C-i", "\e\e". complete-command can be found on "\e!". complete-filename can be found on "\e/". complete-hostname can be found on "\e@". complete-into-braces can be found on "\e{". complete-username can be found on "\e~". complete-variable can be found on "\e$". copy-backward-word is not bound to any keys copy-forward-word is not bound to any keys copy-region-as-kill is not bound to any keys dabbrev-expand is not bound to any keys delete-char can be found on "\C-d", "\e[3~". delete-char-or-list is not bound to any keys delete-horizontal-space can be found on "\e\\". digit-argument can be found on "\e-", "\e0", "\e1", "\e2", "\e3", ... display-shell-version can be found on "\C-x\C-v". do-lowercase-version can be found on "\C-xA", "\C-xB", "\C-xC", "\C-xD", "\C-xE", .. downcase-word can be found on "\el". dump-functions is not bound to any keys dump-macros is not bound to any keys dump-variables is not bound to any keys dynamic-complete-history can be found on "\e\C-i". edit-and-execute-command can be found on "\C-x\C-e". emacs-editing-mode is not bound to any keys end-kbd-macro can be found on "\C-x)". end-of-history can be found on "\e>", "\e[6~". end-of-line can be found on "\C-e", "\eOF", "\e[4~", "\e[8~", "\e[F". exchange-point-and-mark can be found on "\C-x\C-x". forward-backward-delete-char is not bound to any keys forward-byte is not bound to any keys forward-char can be found on "\C-f", "\eOC", "\e[C". forward-search-history can be found on "\C-s". forward-word can be found on "\e[1;5C", "\e[5C", "\ef". glob-complete-word can be found on "\eg". glob-expand-word can be found on "\C-x*". glob-list-expansions can be found on "\C-xg". history-and-alias-expand-line is not bound to any keys history-expand-line can be found on "\e^". history-search-backward is not bound to any keys history-search-forward is not bound to any keys history-substring-search-backward is not bound to any keys history-substring-search-forward is not bound to any keys insert-comment can be found on "\e#". insert-completions can be found on "\e*". insert-last-argument can be found on "\e.", "\e_". kill-line can be found on "\C-k". kill-region is not bound to any keys kill-whole-line is not bound to any keys kill-word can be found on "\ed". magic-space is not bound to any keys menu-complete is not bound to any keys menu-complete-backward is not bound to any keys next-history can be found on "\C-n", "\eOB", "\e[B". non-incremental-forward-search-history can be found on "\en". non-incremental-forward-search-history-again is not bound to any keys non-incremental-reverse-search-history can be found on "\ep". non-incremental-reverse-search-history-again is not bound to any keys old-menu-complete is not bound to any keys operate-and-get-next can be found on "\C-o". overwrite-mode is not bound to any keys possible-command-completions can be found on "\C-x!". possible-completions can be found on "\e=", "\e?". possible-filename-completions can be found on "\C-x/". possible-hostname-completions can be found on "\C-x@". possible-username-completions can be found on "\C-x~". possible-variable-completions can be found on "\C-x$". previous-history can be found on "\C-p", "\eOA", "\e[A". print-last-kbd-macro is not bound to any keys quoted-insert can be found on "\C-q", "\C-v", "\e[2~". redraw-current-line is not bound to any keys re-read-init-file can be found on "\C-x\C-r". reverse-search-history can be found on "\C-r". revert-line can be found on "\e\C-r", "\er". self-insert can be found on " ", "!", "\"", "#", "$", ... set-mark can be found on "\C-@", "\e ". shell-backward-kill-word is not bound to any keys shell-backward-word is not bound to any keys shell-expand-line can be found on "\e\C-e". shell-forward-word is not bound to any keys shell-kill-word is not bound to any keys skip-csi-sequence is not bound to any keys start-kbd-macro can be found on "\C-x(". tab-insert is not bound to any keys tilde-expand can be found on "\e&". transpose-chars can be found on "\C-t". transpose-words can be found on "\et". tty-status is not bound to any keys undo can be found on "\C-x\C-u", "\C-_". universal-argument is not bound to any keys unix-filename-rubout is not bound to any keys unix-line-discard can be found on "\C-u". unix-word-rubout can be found on "\C-w". upcase-word can be found on "\eu". vi-append-eol is not bound to any keys vi-append-mode is not bound to any keys vi-arg-digit is not bound to any keys vi-back-to-indent is not bound to any keys vi-backward-bigword is not bound to any keys vi-backward-word is not bound to any keys vi-bword is not bound to any keys vi-bWord is not bound to any keys vi-change-case is not bound to any keys vi-change-char is not bound to any keys vi-change-to is not bound to any keys vi-char-search is not bound to any keys vi-column is not bound to any keys vi-complete is not bound to any keys vi-delete is not bound to any keys vi-delete-to is not bound to any keys vi-editing-mode is not bound to any keys vi-end-bigword is not bound to any keys vi-end-word is not bound to any keys vi-eof-maybe is not bound to any keys vi-eword is not bound to any keys vi-eWord is not bound to any keys vi-fetch-history is not bound to any keys vi-first-print is not bound to any keys vi-forward-bigword is not bound to any keys vi-forward-word is not bound to any keys vi-fword is not bound to any keys vi-fWord is not bound to any keys vi-goto-mark is not bound to any keys vi-insert-beg is not bound to any keys vi-insertion-mode is not bound to any keys vi-match is not bound to any keys vi-movement-mode is not bound to any keys vi-next-word is not bound to any keys vi-overstrike is not bound to any keys vi-overstrike-delete is not bound to any keys vi-prev-word is not bound to any keys vi-put is not bound to any keys vi-redo is not bound to any keys vi-replace is not bound to any keys vi-rubout is not bound to any keys vi-search is not bound to any keys vi-search-again is not bound to any keys vi-set-mark is not bound to any keys vi-subst is not bound to any keys vi-tilde-expand is not bound to any keys vi-yank-arg is not bound to any keys vi-yank-to is not bound to any keys yank can be found on "\C-y". yank-last-arg can be found on "\e.", "\e_". yank-nth-arg can be found on "\e\C-y". yank-pop can be found on "\ey".>
さて、私たちの目的は、クリアスクリーンのバインドされたキーをチェックすることではありませんか?したがって、「 bind -p」の出力をgrepするだけです。 」
$ bind -P | grep clear clear-screen is not bound to any keys
上記の出力は、画面をクリアするためにバインドされたキーがないことを明確に示しています。それでは、以下のコマンドを使用して作成しましょう。
$ bind -x '"\C-l": clear;'
注: 構文に注意してください。 「\ C-l」を二重に引用しました 「および一重引用符で囲まれた「「\C-l」:クリア; ‘
上記のコマンドを実行した後、 Ctrl-Lを押します。 空白の画面を表示します。
グローバルにバインドされたキー
待ってください。シェルでbindコマンドを実行しただけで、終了するまで存続します。新しいセッションごとに利用できるようにするには、 / etc / inputrcに行を追加する必要があります
$ vi /etc/inputrc
ファイルの最後に以下の行を追加します。
"\C-l": clear-screen
それでおしまい。 Ctrl-Lを押します 画面がクリアされ、新しいセッションごとに機能します。
Ctrl-Lが必要な場合はどうすればよいですか 明確にする以上のことをするために?リストファイルを言う。
bind -x '"\C-l": clear; ls'
上記のコマンドを実行した後、 Ctrl-Lを押します。 画面をクリアし、現在のディレクトリ内のファイルを一覧表示します。
チェックアウト「manbind ‘詳細については。