Это было предложено в комментарии, но это стоит ответа. Вы не можете редактировать каталог прошлых коммитов, обычно в этой ситуации вы предпочитаете изменить каталог и зафиксировать изменение. если вы действительно не хотите делать это в прошлом коммите, который затем вам нужно будет вернуть к первому коммиту, который вы хотите изменить, и начните изменять его, повторяя все.
Чтобы вернуться к коммиту, вы можете сделать git reset --hard <commit sha1>
или вместо sha1
использовать HEAD~3
для третьего коммита из текущего. Затем подтвердите ваши изменения.
Если вы боитесь потерять внесенные вами изменения, вы можете сделать скрытый коммит, сделать коммит, чтобы вернуться к определенному коммиту, а затем снова подтвердить вам изменения один за другим, отменить фиксацию, затем изменить каталог, затем совершать и т. д.
git revert HEAD~3
сменить каталог. git commit -a -f "directory fix1"
git revert HEAD~2
изменить каталог. git commit -a -f "directory fix2"
git revert HEAD~1
изменить каталог. git commit -a -f "directory fix3"
Это - единственный способ, которым я знаю, чтобы сделать то, что Вы хотите:
В foo.sh Вы имеете:
#!/bin/bash
echo MYVAR=abc123
И когда Вы хотите получить значение переменной, необходимо сделать следующее:
$ eval "$(foo.sh)" # assuming foo.sh is in your $PATH
$ echo $MYVAR #==> abc123
В зависимости от того, что Вы хотите сделать, и как Вы хотите сделать это, могло использоваться предложение Douglas Leeder об использовании источника, но это получит целый файл, функции и так далее. Используя оценку, только будет оценен материал, который отражен.
Установите переменную в/etc/profile (создайте файл в случае необходимости). Это по существу сделает переменную доступной для каждого процесса удара.
Едва ли - после того как Вы работаете в подпроцессе, Вы не можете влиять на своего родителя.
Там две возможности:
1) Получите сценарий, а не выполните его (см. источник.):
source {script}
2) Имейте сценарий, производит команды экспорта и оценку что:
eval `bash {script}` OR: eval "$(bash script.sh)"
Править: Исправленный вторая опция быть оценкой, а не источником. Opps.