Ich möchte den folgenden Befehl git fetch
in Git-Repos ausführen, wenn diese über ein Remote verfügen (= git remote
nicht leer sind):
find -name .git -execdir test $(git remote) \; -execdir git fetch
^^^^^^^^^^^^^
How to quote/escape/mask this?
Habe viele Variationen ausprobiert, die nicht funktionieren, wie: "$(git remote)"
, '$(git remote)'
, \$\(git remote\)
, '"$(git remote)'"
, ...
Antwort1
Versuche dies:
find -name .git -execdir sh -c 'test $(git remote)' \; -execdir git fetch \;
und weil dadurch sowieso eine Shell gestartet wird, können Sie sogar Folgendes tun:
find -name .git -execdir sh -c 'test $(git remote) && git fetch' \;