![Zitieren Sie einen Befehl für `find -execdir test [Befehl]` (Bash)](https://rvso.com/image/1482231/Zitieren%20Sie%20einen%20Befehl%20f%C3%BCr%20%60find%20-execdir%20test%20%5BBefehl%5D%60%20(Bash).png)
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' \;