Я хотел бы выполнить следующую команду, чтобы выполнить git fetch в git-репозиториях, если есть удаленный (= git remote не пуст):

find -name .git -execdir test $(git remote) \; -execdir git fetch
                              ^^^^^^^^^^^^^
                              How to quote/escape/mask this?

Перепробовал много вариантов, которые не работают, как: "$(git remote)" , '$(git remote)' , \$\(git remote\) , '"$(git remote)'" , ...

1 ответ1

1

Попробуй это:

find -name .git -execdir sh -c 'test $(git remote)' \; -execdir git fetch \;

и поскольку это все равно запускает оболочку, вы даже можете сделать:

find -name .git -execdir sh -c 'test $(git remote) && git fetch' \;

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .