Я пытаюсь написать bash сценарий, который находит новые репозитории и файлы и фиксирует & pu sh их всех, и будущие git репо, которые я добавляю в папку своих проектов.
Все мои git проекты хранятся в папке, которую я имею в моей системе для простоты.
Проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда я пытаюсь использовать 1 вкладыш, чтобы найти все. git папок и запускать на них команды, он не может выполнить все команды 3 git для нужных ему папок (add, commit, pu sh)
Я пытался запустить разные версии сценарий, некоторые с & at git pu sh, а некоторые с &&, но он все еще только добавляет и фиксирует репо с изменениями, но не делает их sh их.
Я также попытался сделать это в функция, позволяющая запустить его как отдельную команду, но я все равно получаю сообщения об ошибках повсюду.
Мой скрипт выглядит следующим образом:
# Location of all my github projects
mygit=$HOME/github/myrepos
addcompush="git add . && git commit -a -m "Uploaded by script, no commit msg" & git push"
# Find all git repo folders and run git add + git commit + git push on them
find "$mygit" -name ".git" -type d -exec bash -c "echo '{}' && cd '{}'/.. && $(addcompush)" \;
Я также пробовал разные версии этого, как описано выше:
find "$mygit" -name ".git" -type d -exec bash -c "echo '{}' && cd '{}'/.. && git add . && git commit -a -m "uploaded by script" && git push" \;
Это делает git добавление и принятие но это не pu sh их, я подозреваю, что это из-за &&. Но я полностью потерян, как это исправить.
Нужно ли мне реструктурировать весь мой подход к этому или я могу сделать эту работу такой, как есть?