デフォルトでは、bashは行~/.bash_historyを履歴にロードします。ロードするカスタムファイルを追加することはできますか?頻繁に使用するコマンドを含むファイルを挿入し、組み込みの検索を介してそれらにアクセスしたい。
/usr/local/binか何か
.bashrcますか?
デフォルトでは、bashは行~/.bash_historyを履歴にロードします。ロードするカスタムファイルを追加することはできますか?頻繁に使用するコマンドを含むファイルを挿入し、組み込みの検索を介してそれらにアクセスしたい。
/usr/local/binか何か
.bashrcますか?
回答:
私はalias h='history|grep'、Bashプロファイルに読み込まれているため、シンプルにしています。
h commandたとえば、私のワークフローはです。h hpssa
# h hpssa
202 05-28-2015 11:54:33 hpssacli
217 05-28-2015 11:54:33 hpssa -start
225 05-28-2015 11:54:33 hpssacli -stop
226 05-28-2015 11:54:33 hpssa -stop
228 05-28-2015 11:54:33 hpssa -start
「hpssa -stop」を実行する場合は、次のように入力します!226
これは私のアプローチですが、履歴アイテムの呼び出し方法を変更できます。実際に履歴ファイルにデータを挿入することは意味がないと思います。
docker run ...
以前は履歴を後方検索して以前に入力された長いコマンドを取得するCtrl-R(reverse-search-historyReadlineコマンド)に非常に依存していましたが、現在はエイリアスとシェルスクリプト/関数を使用することを好みます。とにかく、Bash history組み込みコマンドを使用して、カスタムコマンドのリストを現在の履歴に読み込むことができます。
history -r [filename]
bashのmanページから:
履歴ファイルの内容を読み取り、現在の履歴リストに追加します。
このコマンドをmyの最後の行として追加して、このコマンドを自動的に起動しようとしました.bashrc。しかし、新しいシェルを起動したときに、カスタム履歴ファイルのコマンドを使用できませんでした。シェルの履歴のみデフォルトからロードされているようです.bash_historyファイル:の後に起動ファイルが処理されていると、ちょうど前にプロンプトが対話型シェルのために提示されます。残念ながら、これを自動化する簡単な方法はないようです。
@AnthonyGeogheganが確認したように、履歴は起動ファイルが処理された後に読み込まれます。これは、スタートアップファイルに目的の履歴をプリロードする別の方法を提供します。
mv .bash_history .bash_history.tmp
cat .extra_hist .bash_history.tmp > .bash_history
# or swap them, to put the extra stuff at the end of the history, for
# quicker ^R access.
この方法では、時間の経過とともに.bash_historyに特別なコマンドの複数のコピーが追加される可能性があることに注意してください。特別なコマンドをコメント行で囲むことができるので、.bash_historyファイルへの入力の一部として(sedなどを介して)コマンドを簡単に見つけて削除できます。何かのようなもの:
cp .extra_hist .bash_history
sed '/: remove from here/,/:remove to here/d' .bash_history >> .bash_history