Есть ли утилита, которая упрощает хранение и восстановление bash-сессий? Я хотел бы иметь возможность делать EG
$ KUNG=pao
$ foo commit # saves the current environment
# as an anonymous changeset from the previous savepoint
$ SCHNICKENS="What's up, doc?"
$ SCHNICKENS="$(echo Schmoove)"
$ unset KUNG
$ foo diff HEAD # outputs a $(set) of commands
# which comprise the current changeset
unset KUNG;
SCHNICKENS="Schmoove"
$ foo branch edit-su-question # creates a new branch with that name
$ foo merge master # updates the current environment
# with any changes made to ~/.bashrc
# since it was branched or last merged
$ function fierce_fist_of_foo {
cut -f 2 | xargs -I {} bash foo {} '>>' ffof.out;
}
$ foo checkout master # switches current branch
# to the one checked out by ~/.bashrc
$ foo commit -m "learned the fierce_fist_of_foo technique"
# new interactive `bash` invocations now load that function
Учитывая его сходство с набором команд git
, у меня возникает соблазн использовать нецензурное слово или, в качестве альтернативы, название альбома Smashing Pumpkins, в качестве имени команды в этом примере. Но хороший оле foo
это.
Я основываю свою веру в работоспособности этой концепции в значительной степени на предположении, что запуск set
из оболочки bash даст вам вызываемый скрипт, который восстановит эту среду. Я не уверен, что это полностью правда.
В любом случае, есть ли что-то, что работает так? Дополнительные очки, если он на самом деле использует git
как часть своей реализации. Мол, я приму этот ответ. Так как ты только в этом за очки и все.