| ## A Introduction for Newbies
## John Shafer <>
About a month ago I was on IRC with Jim and some of his contributors, and
had this crazy idea that I'd volunteer to write an article. I'm not sure
where I came up with this idea, because I'd been using FreeBSD for around a
month, and am still quite a newbie. Somehow it was agreed upon that I would
write an article on a subject I didn't know about yet, but wanted to learn. I
settled on shell scripting, which I will now attempt to explain.
Now, close to a month later, panic is setting in. I've got one paragraph
of that article done, and still don't have a clue how to write shell scripts.
So I guess I'll have to write about what I do know, the raw basics, and fill
in some of the more advanced concepts in another issue.
A shell script is a text file that contains a series of commands to be
executed. You can create quite complicated shell scripts, but for now I'm
just going to discuss the steps involved in making a very simple one.
The first step is to create the text file. You can use whatever editor
you are comfortable with. I prefer vim myself:
% vim ~/bin/startrc5
I'm not quite sure why, but the sources I read said that shell scripts
should begin with the line:
(Actually, that only applies to Bourne shell scripts. Unless you have a
good reason, you should probably stick to using the Bourne shell.)
Then the text of your script:
And that's it. Save the file, and mark it as executable:
% chmod a+x ~/bin/startrc5
(In case you were wondering, ~/bin stands for the bin directory in your
home directory. In my case, ~/bin would translate to /usr/home/jshafer/bin.
So there should be a directory called bin in your home directory, and it
should be a part of your path.)
Next, if you are using csh or tcsh you either need to log off and log on
again, or type the command:
And that's all there is to it. You now have a text file in your ~/bin
directory that contains:
% cat ~/bin/startrc5
There is much more to learn, and my little shell script here may not be
that good, but it demonstrates the basics.
Shell Scripting References and Links
Return to Issue #4