Mercurialの条件付きプロンプト

Mercurialの条件付きプロンプト

次のプロンプトを表示しようとしています。

$ some-folder (patch-name):

次の操作を行ったときに機能させることができました。

hg_ps1() {
    hg prompt " ({patch})" 2> /dev/null
}

export PS1='$ \W$(hg_ps1): '

ただし、パッチを適用しないと、次のことが発生します。

$ some-folder ():

パッチを適用しない場合は、次のようになります。

$ some-folder: 

私ができる方法はありますか?

ベストアンサー1

hg_ps1コマンドの結果に応じて、出力を条件付きにすることができますhg

hg_ps1()
{
  typeset prmpt=$(hg prompt "{patch}" 2>/dev/null)
  [[ -n "$prmpt" ]] && echo " ($prmpt)"
}

おすすめ記事