Intro to Shell Programming: Writing a Simple Web Gallery
A Simple Script
So you're not a programmer, you say? If you can string a few shell commands together, it's not much of a step from there to programming.
To demonstrate that, I'll take you through the steps of writing a very simple web gallery script: one that will take your images and build a little web page to show them off.
Your script will need to do some image operations like resizing from the command-line. For that, I recommend ImageMagick, available as a package in just about every Linux distro. Just
apt-get install imagemagick or
yum install imagemagick or whatever your distro prefers, and you're ready to go. If you prefer GraphicsMagick, a fork of ImageMagick, that's okay too. All the basic commands are the same.
For this project, you'll also want a directory with some images in it. You can create a directory with
mkdir dirname or use your favorite file manager. Then copy some images into it. Be sure to copy, not move: you'll be making changes to images in this directory, and you wouldn't want to overwrite the originals.
In a shell, change directory (cd) into your new image directory; you'll be running your script from there.
Create your shell script
To create your shell script, use a text editor, not a word processor like OpenOffice. If you don't have a favorite text editor yet, check out the recent LinuxPlanet articles on Kate.
A shell script is, at its most basic, a list of commands you want the shell to run. It starts with a magic line:
That's called a shebang line, because the # character is usually pronounced "hash" and the !, "bang". It lets you run your script like a program, by just typing the program name, and Linux will figure out that it's a shell script, run by the shell, /bin/sh.
There's one other step you need before you can run your shell script: you need to make it executable. Choose a file name (say, gal for gallery) and save your shell script. Then, in a shell, you can change its permissions this way:
chmod ugo+x gal
(that means "Make the file executable for user, group and other.") If you prefer using gui tools, right-click on your newly created script, choose Properties and look for the Permissions tab: you can make the script executable there.
Now you have a shell script, and it's runnable. But it doesn't do anything. That's the next step.
Solid state disks (SSDs) made a splash in consumer technology, and now the technology has its eyes on the enterprise storage market. Download this eBook to see what SSDs can do for your infrastructure and review the pros and cons of this potentially game-changing storage technology.
- 1Linux Top 3: RHEL 6.7, BackBox Linux 4.3 and RoboLinux 8.1
- 2Linux Top 3: SLES 11 SP4, Chromixium OS 1.5 and Canonical Licensing
- 3Linux Top 3: VirtualBox 5, Point Linux 3.0 and OpenSUSE Leap 42.x
- 4Linux Top 3: Linux 4.2 rc1, 4MLinux 13 and antiX15
- 5Linux Top 3: Linux Mint Rafaela, OpenMandriva Lx 2014.2 and VectorLinux 7.1