Возможно, это дубликат, так как уже был похожий вопрос, но я не могу его исправить, поэтому задаю его снова, используя свой код.
У меня sh
есть такой код:
cd /home/domain.com/data/domain-statistics
git fetch origin
git merge origin/master
git add --all
git add .
git commit -am "File generated and updated on `date`"
git push origin master
когда я запускаю его как:
-bash-4.2$ sh /home/domain.com/data/crons/push.sh
Тогда это всегда будет выглядеть так:
-bash-4.2$ sh /home/domain.com/data/crons/push.sh
/home/domain.com/data/crons/push.sh: line 1: cd: /home/domain.com/data: No such file or directory
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
пожалуйста, помогите мне.
решение1
У меня нет репутации, чтобы комментировать, поэтому я пишу это как ответ. Вы пробовали команду cd, используя относительный путь? Если я не ошибаюсь, это будет:
cd ../domain-statistics
решение2
все эти коды работают, если я запускаю их напрямую в терминале
Так что еслиВыне работает втвойтерминал, тогда как этосуществованиебегать?
Если он работает под управлением какой-тодругойпользователь, то этот пользователь вполне можетнетиметь доступ к этому каталогу (или одному или нескольким его родительским каталогам).
Проверьте разрешения для каждого каталога в пути /home/domain.com/data
.