How can I write loops in a shell script?
Shell scripts can also contain loops. You can write them using semi-colons, or split them across lines without semi-colons to make them more readable:
# Print the first and last data records of each file.
for filename in $@
do
head -n 2 $filename | tail -n 1
tail -n 1 $filename
done
(You don't have to indent the commands inside the loop, but doing so makes things clearer.)
The first line of this script is a comment to tell readers what the script does. Comments start with the #
character and run to the end of the line. Your future self will thank you for adding brief explanations like the one shown here to every script you write.
As a reminder, to save what you have written in Nano, type Ctrl
+ O
to write the file out, then Enter to confirm the filename, then Ctrl
+ X
to exit the editor.
This exercise is part of the course
Introduction to Shell
Hands-on interactive exercise
Turn theory into action with one of our interactive exercises
