You need to develop cross-platform scripts but do not have the appropriate systems
or hardware.
If the target platforms run on the x86 architecture, download the free VMware Server and build your own.
Or search for prebuilt virtual machines on the VMware site, the OS vendor or distributor’s site, or the Internet.
The flaw in this solution is the systems such as AIX and HP-UX that don’t run on an
x86 architecture, and thus don’t run under VMware. Again, if you have these systems, use them.
Testing shell scripts is usually not very resource intensive, so even moderate hardware capable of running VMware or a similar virtualization package should be fine.
We mention VMware specifically because the Server and Player products are without
cost, they run on Linux and Windows (and soon the Mac), and are very easy to use; but there are certainly other alternatives available.
If you install VMware Server on a Linux server, you don’t even need the overhead of
a GUI on the host machine—you can use the VNC-based VMware Console from
another Linux or Windows machine with a GUI.
Minimal virtual machines with 128 MB of RAM, or sometimes even less, should be more than enough for a shell environment for testing.
Set up an NFS share to store your test scripts and data, and then simply telnet or ideally SSH to the test system.
To get you started, here’s a trivial example using VMware player:
1. Get the free VMware Player for Windows or Linux from http://www.vmware.
com/player/.
2. Get a pre-built virtual machine image:
a. Ubuntu Linux 5.10 (Debian derivative), Firefox 1.0.7, and Gnome 2.12.1
form the basis for VMware’s “Browser Appliance v1.0.0” (258M at http://
www.vmware.com/vmtn/appliances/directory/browserapp.html).
b. PC-BSD is a BSD and KDE-based desktop distribution (609M at http://www.
pcbsd.org/?p=download#vmware).
3. Unzip whichever one you selected and open it in Player, creating a new VMware
UUID if prompted.
Once you boot, which takes a while, you will have either an Ubuntu 5.10 Gnomebased desktop with bash 3.0 or a BSD and KDE-based GUI desktop complete with bash 3.1 (as of this writing).
You could also run two instances of Player (or run Server) and have both environments.
Note these are both GUI distributions and so require much more memory and CPU time than a minimal shell-only install; thus, they are presented here as examples and quick and dirty solutions to get you started.
Despite the overhead, they are useful in that they are “official” images rather than
community-based images with widely variable code assurance and quality control.
Full details for the wide variety of VMware implementation possibilities are readily
available via the VMware Forums and Google.