Я хотел бы выполнить следующую команду для работы 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
Попробуй это:
find -name .git -execdir sh -c 'test $(git remote)' \; -execdir git fetch \;
и поскольку это в любом случае запускает оболочку, вы даже можете сделать:
find -name .git -execdir sh -c 'test $(git remote) && git fetch' \;