検索しましたが、何も見つかりませんでした。ターミナルを使用して、bashの機能を探しています。
昔、debianシステムのユーザーがいて、友人が便利な履歴検索機能を設定してくれました(その時はtcshを使用したと思います)。そして、部分文字列に基づいて検索を行います。
例えば。私の歴史が:
./script.pl
./script.pl arg1
cat output
cat output | grep yada
そして、.
と入力し、上矢印を押すと、./script.pl arg1
と表示されます。もう一度押すと、./script.pl
などが表示されます。
.bash_historyでgrep
を実行するのとよく似ています。この機能を取得する方法はありますか?
~/.inputrc
に次の行を追加します。
## arrow up
"\e[A":history-search-backward
## arrow down
"\e[B":history-search-forward
#
で始まる行はコメントです。何が後方で何が前方であるか思い出せません。それを試してください。たぶん、あなたは前後に切り替える必要があります。
少しの背景情報:
Bashは readline を使用してプロンプトを処理しています。 ~/.inputrc
はreadlineの構成ファイルです。 IPython のように、これはreadlineライブラリを使用する他のソフトウェアでも有効になることに注意してください。
Readlineの詳細については、 bash manual をお読みください。また、さらに多くの 履歴関連のreadlineコマンド を見つけることもできます。
矢印キーのエスケープコードを取得するには、次の操作を実行できます。
cat
を開始します(cat
のみ、それ以上の引数はありません)。^[[A
が上向き矢印、^[[B
が下向き矢印になります。^[
を\e
に置き換えます。/etc/profile.d/にモード644でsetup_readline.shという名前のファイルを作成し、次の内容でログインし、優先キーを確認します。
bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward'
これを行うには最適な方法だと思います。主に、シェフ、パペットなどの構成管理システムを使用している場合
そして、システム構成はそのままです!
Ctrl + Rはこの種の機能を提供します。部分的なコマンドの入力を開始すると、上矢印と下矢印でナビゲートできる古いコマンドが表示されます。詳細: http://www.nuxified.org/blog/ctrl_r_in_the_bash_Shell
Trusty 14.04で作成する「〜/ .inputrc」に関するlesmanaの回答を完了するには、「〜/ .bashrc」で確認/追加します(最初の行は「〜/ .bashrc」に既に存在します)。
shopt -s histappend
Prompt_COMMAND='history -a'
https://doc.ubuntu-fr.org/terminal?&#pour_completer_les_commandes_a_partir_de_l_historique で既にフランス語で説明されています。
https://github.com/dvorka/hstr を試してみたいと思うかもしれませんコマンドが重要)-矢印キーを使用して簡単に履歴をナビゲートできます:
簡単にできます bound to Ctrl-r および/または Ctrl-s
次のソリューションは、上記のアプローチの一部を組み合わせて拡張します。次の動作を実現するために、~/.bash_aliases
ファイルに次の行を追加します(~/.inputrc
は不要)。
bind '"\e[1;5A":history-search-backward'
bind '"\e[1;5B":history-search-forward'
bind '"\e[1;5C":forward-Word'
bind '"\e[1;5D":backward-Word'
変更を適用するには、シェルに再ログイン(またはsource ./bash_aliases
を実行)します。