| CARVIEW |
Select Language
HTTP/2 200
date: Sun, 28 Dec 2025 02:50:17 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
etag: W/"f2c1cd5ab6eb0a88ccaed30dded4b624"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com github.githubassets.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com wss://alive-staging.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com marketplace-screenshots.githubusercontent.com/ copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com github.githubassets.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=rQtx%2B68XQBqJPM%2BROuj4MkHlzhBie8EmEcLnh%2FwrWL1k9C5RFfuP90e6oqsPixU28%2FpnzMMM%2Fl7rMMLDXmxRHXdZvxSqa%2FfOqaUNWw3DnVFwX8X0umgYrt3UahRD06aqs3PpAqv83xho03AtHvxhbvaKxVbuMUl4qfOM9CCShxkbrYDIFFvU5sVRJhZD4Lz4sYx%2BT4y1oP0w%2FAccwiaJHXpVHrx1%2FscWqdc9oNcrSHcrM8VgeKVfE75d1J7U%2B2BQ4%2BMtuWIzNRHQ3e8Ps6%2BH4A%3D%3D--oWGRKq4mnBB5hEAr--UO5LKsJs%2FIQ9C6fXoi99eA%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.1443669156.1766890217; Path=/; Domain=github.com; Expires=Mon, 28 Dec 2026 02:50:17 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Mon, 28 Dec 2026 02:50:17 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: DE94:3AC056:4A0BBC3:599204D:69509AE9
GitHub - mrmasterplan/EnvWatcher: DEPRECATED! shell environment recorder and manager
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 1
mrmasterplan/EnvWatcher
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
This is EnvWatcher.
===================
A project by Simon Heisterkamp.
Please send comments/suggestions/bugs to EnvWatcher@gmail.com)
( Please also read the section below on reporting bugs. )
Requirements
============
- bash
- python
Tested for python 2 version 2.4 and up.
SETUP
=====
Simply source the script setup.sh
$ source path/to/EnvWatcher/setup.sh
You will now have access to the command env-watcher.
A short help message showing the available command-line options is shown when calling
$ env-watcher --help
Full usage information can be found in the file usage.txt or by calling
$ env-watcher usage
Description
===========
env-watcher is able to monitor your bash environment and record changes that you make to
it. One can then ask the env-watcher to undo those changes.
In its functionality the env-watcher is not unlike other dynamic environment loaders
like, for example, 'module' (https://modules.sourceforge.net/). However, module requires
the user to write special tcl modules in order to be able to load and unload them. The
advantage of env-watcher is that it can accept and recognize changes made by any other
shell-script because it relies on 'before' and 'after' snapshots of the shell
environment.
The env-watcher monitors
- environment variables
- local variables
- shell functions
- aliases
Example Session
===============
Here I am showing an example session of things that one can do with the env-watcher:
simon> source EnvWatcher/setup.sh
simon> env-watcher start mysession
Started recording session 'mysession'
the session 'mysession' is now started. Any changes to the environment from now on
will be saved.
simon> foo=bar
simon> export hello=world
simon> export PYTHONPATH="$PWD/EnvWatcher/python:${PYTHONPATH}"
simon> env-watcher stop mysession
Saved record with name 'mysession'
we can view the available records with "list":
simon> env-watcher list
No open sessions.
Avaliable records:
mysession
to see the differences we can use "display":
simon> env-watcher display mysession
BashEnvVariable("PYTHONPATH"):
{ Path difference:
added: /Users/simon/code/EnvWatcher/python
}
BashLocVariable("foo"): { n/a => 'bar' }
BashEnvVariable("hello"): { n/a => 'world' }
The env-watcher noticed the shell and environment variables that we added.
I also detected that a path was added to the PYTHONPATH. We can now undo those
changes by using "undo":
simon> env-watcher undo mysession
Now reverting changes recorded for session 'mysession'
Finally we verify that our changes have been reverted.
simon> echo $foo
simon> echo $bar
simon> echo $PYTHONPATH | grep EnvWatcher
simon>
BUGS
====
In the unlikely event that you encounter any bugs *ahem* please do the following:
- Repeat the steps that lead you to the bug using debug-mode in each step.
Debug mode is enabled by including the -d option on the command line.
- Send me the entire output of your session.
- Send me the log-files that are located in $ENV_WATCHER_DIR/Log_*.txt
(They only get written in debug mode.)
Please send all of the above information to EnvWatcher@gmail.com
Thank you. I will hopefully get back to you soon.
LICENCE
=======
Copyright (C) 2011 Simon Heisterkamp and contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of this
software and associated documentation files (the "Software"), to deal in the Software
without restriction, including without limitation the rights to use, copy, modify,
merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.About
DEPRECATED! shell environment recorder and manager
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
You can’t perform that action at this time.