There's one final thing that we want to talk about. If you want to store the output of the command:
ls -al
|
Set it to a variable value "files":
files=`ls -al`
|
This then assigns the output of the ls -al to a variable called files. If you now type:
echo $files
|
You would see that this appears to have written all those files, plus all their permissions, everything on a single line.
Well that is not really what echo is doing, all that it has done is not to honour the newline characters. We need to find a combination in our command that assures our results are also formatted correctly and the only way we can preserve the formatting is to use double quotes. Thus if you type:
echo "$files"
|
you would get back your listing the way you expect, the newline characters would be preserved. This can be quite useful.
For example:
diskfree=$(df -h)
echo $diskfree
|
will give you one lone line with all that disk information in it.
Typing:
echo "$diskfree"
|
will ensure that you see what you expect: a tabular format rather than a long line format.