내 Git 원격 저장소 주소를 수정하려고 하는데 |
파이프()에 대해 혼란스럽습니다.
둘 사이의 차이점은 무엇입니까? 첫 번째 옵션이 작동하지 않는 이유는 무엇입니까?
# 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을 표준 입력으로 제공하려고 시도합니다.
두 번째 줄 OTOH는 URL을 명령줄 인수(마지막 항목)로 최상위 명령에 거의 정확하게 삽입합니다.
1 여기서 원치 않는 분할+글로브를 방지하기 위해 명령 대체 주위에 큰따옴표를 잊어버렸습니다.