13

Windows 7でGit-1.8.0-preview20121022を実行していますが、インストールは「Git Bashのみ」で行われました(Windows cmdへの侵入が最も少ない)。

スタート メニューのショートカットから Git Bash を開くと、すべて履歴に問題はありません。

ただし、Git Bash hereコンテキスト メニュー (git-cheetahシェル拡張または単純なレジストリ) がセッションを起動した場合、そのセッションからのコマンドは.bash_history.

なぜこれが起こっているのかをどのように理解できますか?またはさらに良いことに、誰かがこれを修正する方法を知っていますか?

4

3 に答える 3

20

この行を~/.bash_profile

PROMPT_COMMAND='history -a'
于 2013-01-07T16:02:14.733 に答える
10

ここで述べたように: https://stackoverflow.com/a/60718848/6680510

次のファイルを作成します

~/.bash_profile
~/.bashrc

そして、両方に次の行を入れます

PROMPT_COMMAND='history -a'

コンソール (git bash) 自体からこれを行うには、次のコマンドを使用します。

echo "PROMPT_COMMAND='history -a'" >> ~/.bash_profile
echo "PROMPT_COMMAND='history -a'" >> ~/.bashrc

どういうhistory -a意味ですか

history --helpコマンドから

-a このセッションの履歴行を履歴ファイルに追加します

とはPROMPT_COMMAND?

Bash には、PROMPT_COMMAND という環境変数が用意されています。この変数の内容は、Bash がプロンプトを表示する直前に通常の Bash コマンドとして実行されます。

.bash_profileとの違い.bashrc

.bash_profileはログイン シェルに対して.bashrc実行され、インタラクティブな非ログイン シェルに対しては が実行されます。

コンソールからログイン (ユーザー名とパスワードを入力) すると、マシンに座っているか、ssh を介してリモートで .bash_profile が実行され、最初のコマンド プロンプトの前にシェルが構成されます。

ただし、既にマシンにログインして新しいターミナル ウィンドウ (xterm) を開くと、ウィンドウ コマンド プロンプトの前に .bashrc が実行されます。.bashrc は、ターミナルで /bin/bash と入力して新しい bash インスタンスを開始したときにも実行されます。

OS X では、ターミナルはデフォルトで毎回ログイン シェルを実行するため、これは他のほとんどのシステムとは少し異なりますが、設定で構成できます。

参考文献

https://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/x264.html https://apple.stackexchange.com/questions/51036/what-is-the-difference-between-bash-profile-and -bashrc

于 2020-03-17T12:50:51.107 に答える
5

パッティング

PROMPT_COMMAND='history -a ~/.bash_history'

.bash_profile に入れてくれました。

于 2014-03-02T03:11:31.850 に答える