1

Есть ли утилита, которая упрощает хранение и восстановление 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 как часть своей реализации. Мол, я приму этот ответ. Так как ты только в этом за очки и все.

1 ответ1

1

Я уверен, что можно придумать что-нибудь, используя env и source .

 # "commit"
 env > saved_state

 # "checkout"
 source saved_state

Все остальное будет интерфейсом сахара. Можно даже написать сценарий, поместив файлы saved_state в какой-нибудь git-репозиторий где-нибудь автоматически, чтобы можно было просмотреть их с помощью tig .

Я должен признать, что я в ужасе от потенциала крайне запутанных и запутанных рабочих процессов, которые это позволило бы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .