GNU/Linux >> Linux の 問題 >  >> Linux

あるコマンドの出力を引数として別のコマンドに渡す方法は?

同様の質問がありましたが、私は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行に一致する必要があり、ブランチ名にスペースを含めることはできないと思います。もっと複雑なことについては、おそらくそれを関数(またはスクリプト)にラップして、中間値の健全性チェックを実行できるようにします。


Linux
  1. 前のコマンドの出力を引数として次のコマンドに渡しますか?

  2. コマンドライン引数をシェルスクリプトに渡す方法は?

  3. 出力をファイルに追加する方法は?

  1. 別のコマンドのパラメーターとしての Linux コマンド出力

  2. git pull コマンドにパスワードを入力するには?

  3. シェルスクリプトのコマンドラインからExpectに引数を渡す方法

  1. Linuxコマンドの出力を変数に割り当てる方法

  2. Linuxでコマンド出力をファイルに保存する方法

  3. ある Git リポジトリから別のリポジトリにコミットをコピーする方法は?