atdt / envv Goto Github PK
View Code? Open in Web Editor NEWThis project forked from jakewendt/envv
Envv is a shell-independent way of handling environment variables. (not mine)
This project forked from jakewendt/envv
Envv is a shell-independent way of handling environment variables. (not mine)
ENVV Envv is a shell-independent way of handling environment variables. It lets you set environment variables, and manipulate colon-separated paths in an easy, shell-independent way. This makes writing setup scripts for softare products a snap. Instead of users hard-coding initialization steps in their .cshrc or .profile files, they can source system-wide files. Then, if you ever move any software packages, users don't have any problem. For example, suppose the commercial software packaged FOOBAR requires '/usr/local/foobar/bin' to be on the user's path, and requires the environment variable 'FOOHOME' to be set to '/usr/local/foobar' Just create the following script: eval `envv add PATH /usr/local/foobar/bin` eval `envv set FOOHOME /usr/local/foobar` Then, users of csh, tcsh, bash, sh or ksh can simply source the script, and everything will work fine. BUILDING ENVV Envv is a ridiculously simple program. You may want to glance at the first few lines of envv.c, and take a look at the Makefile. But all you should have to to do compile it is type 'make'. This makes the executable 'envv', which you can copy to your favourite system directory. The manual page is in 'envv.1' CHANGES TO ENVV: * Version 1.7 (14 July 2011) + Licence change ENVV is now licensed under the MIT license (http://en.wikipedia.org/wiki/MIT_License) The official license terms are in the man page, envv.1 + Bug fixes - Fixed segmentation fault identified at jakewendt#1 * Version 1.6 (11 July 1995) + Bug fixes - Fixed the path comparison function. The old version would incorrectly match /u/share and /usr/foo because the trailing-slash logic was confused. Thanks to Caleb Epstein for finding and reporting the bug. * Version 1.5 + Bug fixes - Made directives case-insensitive (suggested by Steve Shoopak.) - Changed the definition of MAX_VAL_LEN from 256 to 2048 to allow for very long paths. * Version 1.4 (10 May 1994) + Bug fixes - If a set command was followed by add/move/del commands on stdin, it didn't work -- the results of the set were not saved in envv's environment. * Version 1.3 (10 May 1994) + Bug fixes - I was freeing a string after sending it to putenv(). Bad news. This patch fixes that. * Version 1.2 (18 April 1994) + Enhancements - Added the "local" directive to set variables without exporting them to the environment. - Added the '-e', -h' and '-s' options. - If no directives are supplied on command line, envv reads directives from stdin and issues commands based on those directives. Directives on stdin should be supplied one-per-line. + Bug fixes - Fixed up the usage display to show the "choose" directive, which had been missing. * Version 1.1 (22 March 1994) + Enhancements - Modified the path manipulation commands so that trailing slashes do not affect comparison of directories. That is, foo/bar/ and foo/bar are considered the same. - Added the 'zsh' shell to the list of shells envv recognizes. - Added the 'choose' directive -- see the man page. * Version 1.0 (8 Feb 1994) - First version. -- David F. Skoll Roaring Penguin Software Inc. <[email protected]> 613 231-6599
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.