パイプ出力と内部計算の違いは何ですか? [コピー]

パイプ出力と内部計算の違いは何ですか? [コピー]

私はGitのリモートストレージアドレスを変更しようとしていますが、|パイプ()について混乱しています。
2つの違いは何ですか?最初のオプションが機能しないのはなぜですか?

# Doesn't work
git remote get-url origin | sed 's/old/new/' | git remote set-url origin

# Works
git remote set-url origin $(git remote get-url origin | sed 's/old/new/')

答え1

答えは、git remote set-urlコマンドラインに最後の引数(実際のURL)が必要であることです。いいえ標準入力として使用されます。最初の行(パイプ付きの行)はURLを標準入力として提供しようとします。

2行目のOTOHは、URLをコマンドライン引数(最後のエントリ)として最上位のコマンドにほぼ正確に挿入します。


1ここで​​不要な分割+グローブを防ぐために、コマンドの置き換えの周りに二重引用符を忘れました。

関連情報