Chris Ward wrote: > Very simple i would think, like "system('export > CVSROOT=/path/to/repository')" Or so i would I guess; what i just > wrote does not work for me. > > I'm needing this for a CVS repository selection script. Does this > make sense? All of the repositories are on a single server. Here's my > logic. > > # Open the CVS root directory (Where all the repositories will be > stored under) and show a menu to the user of all repositories > available. # Give user a choice of each directory (repository) to > select as their own CVSROOT > # Export that path to bash environmental variable CVSROOT
I'm not a CVS expert, but I don't think CVSROOT works that way. > > Cool? Probably not, but i'd still like to know how to export a > variable in bash through perl. I've tried a few things like creating > a bash script *.sh and the sourcing it through system('source > whatever.sh'), but it always claims that source isn't a correct > command. Cool? "source" is a csh thing. For Bourne-type shells you use a dot: . whatever.sh There's really no way to set the environment of the parent process from the child. You can do something cutesy like the following: File: menu ---------- perl menu.pl && . /tmp/menu.out File: menu.pl ------------- #!/usr/bin/perl ...code to figure out cvs root... open TEMP ">/tmp/menu.out" or die $! print TEMP "CVSROOT=$cvsroot; export CVSROOT\n"; close TEMP Now you can call your menu as: . menu If you don't use the dot it won't work. You could use an alias. -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]