1

次のような bash プロンプトを設定しました。

PS1='\W\[\e[31m\]$(git branch &>/dev/null; if [ $? -eq 0 ]; then \
  echo " $(git branch | grep '^*' |sed s/\*\ //)"; fi)'

ターミナルを開くたびに入力しないように、デフォルトにしたいです。(私はOSXライオン/ターミナルバージョン2.2.1を使用しています)


解決策: Hai Vu が提案したように、 ~/.bash_profile に PS1=... 行を入れました。

回答ありがとうございました

4

3 に答える 3

3

PS1=...ラインを入れる~/.bash_profileと、うまくいくはずです。

于 2012-09-19T20:17:30.587 に答える
0

一般に、/ etc / profile、/ etc / bashrc、〜/ .sh_profile、または〜/ .profile(通常はrootの場合は.profile、root以外の場合は.bash_profile)なども探します。さまざまなバージョンのbashでとホストプラットフォームでは、成功するヒットは異なる場合があります:)理論的には、bashrcとbash_profile(shrc、sh_profile)は異なる目的、シェル構成用のrcファイル、シェル自体に関係のないさまざまな設定用のプロファイルであり、固定された順序で処理されます。システム全体およびユーザーごとの構成を含みます。

また、「git」などの外部コマンドを実行してsed、grepなどにパイプする場合は、プロンプトセットアップで使用するのが賢明かどうかはわかりません。

于 2012-09-19T16:13:03.790 に答える
0

免責事項:私はOSXについて何も知りません...

コメントで述べたように、~/.bashrcファイルはコマンドを配置する場所です。

シェルの起動方法によっては、次の行をファイルに追加する必要がある場合があります~/.bash_login

if [ -f ~/.bash_login ]; then
    . .bashrc
fi

繰り返しますが、プロンプトに git-branch 名を取得するために sed-thingie を自分で実行しないでください。here のすばらしい bash-script を使用してください

ところで、これは私のプロンプトがどのように見えるかです(上記のスクリプトを使用):

PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h\[\e[31m\] $(__git_ps1 "%s") \[\e[0m\]\[\e[33m\]\w\[\e[0m\]\n\$ '
于 2012-09-20T09:06:22.043 に答える