同様の質問がありましたが、私はUnix
を初めて使用するためです 文脈上、答えは私にはわかりませんでした。私がやりたいのは、あるコマンドの出力を引数として別のコマンドに渡すことです。ソース管理にgitを使用しており、3つの異なるブランチで作業しています。
コミットする必要があるときはいつでも、ブランチをチェックしてから、対応するコマンドを次のように指定する必要があります
git pull --rebase origin <branch-name>
エイリアスをgit-rebase
として書きたかった そして、それが行うことは、最初にgit branch
を実行することです。 。
gitブランチの出力は次のようになります
experiment
*master
new feature
したがって、マスターブランチに加えて2つのブランチがある場合は、すべてのブランチが表示され、現在のブランチにはスターマークが付けられます。星印の付いた線を抽出して、その出力を上記のコマンドに渡します。
また、コマンドgit branch
の出力を抑制したいと思います。 。コマンド全体を入力するのが面倒なので、これを行っていませんが、unixbashの機能について詳しく知りたいからです。それから何かを学びたいと思っています
承認された回答:
まず、git branch
をマッサージする必要があります 使用可能な形式に出力
$ git branch
experiment
* master
new feature
$ git branch | awk '/^\* / { print $2 }'
master
ここで、それを引数として使用します。
$ git pull --rebase origin $(git branch | awk '/^\* / { print $2 }')
(または、psusiの回答のようにバッククォートを使用できます)。
これはすべき 了解しました。awkコマンドは常に正確に1行に一致する必要があり、ブランチ名にスペースを含めることはできないと思います。もっと複雑なことについては、おそらくそれを関数(またはスクリプト)にラップして、中間値の健全性チェックを実行できるようにします。