コマンド置換で1つのコマンドで文字列置換を使用するには?

コマンド置換で1つのコマンドで文字列置換を使用するには?

git branchコマンドが実行されると、通常は次のようになります。

* main 
.... # other branches

〜によってコマンドの置き換えそして文字列の置き換え期待どおりに動作します。

current_branch=$(git branch | head -n1)     #1
current_branch="${current_branch/* /}"      #2  
echo "current_branch: '${current_branch}'"

印刷のみ可能main

質問:

(可能であれば)行1と2を1つにまとめるにはどうすればよいですか?

current_branch=$(git branch | head -n1 | XXX)

それは何でなければならないかXXX

ベストアンサー1

パラメータ拡張ではこれを行うことはできません。最終的にパラメータ拡張が機能する理由は次のとおりです。パラメータ

いつも「基本」を次のように考えているわけではありません。最初ポイントを表示します。私はお勧めします

git branch | sed -n 's/^[*] //p'

ただし、出力を処理せずに現在の分岐(HEADコミットの分岐)を取得する別の方法があります。

git rev-parse --abbrev-ref HEAD

おすすめ記事