Before you can run this script you need some prerequisites:
1. Every script should contain a Shebang line (this is already the case with our ex-
ample above.) If a script does not have this line, you have to call the interpreter
manually.
2. You can save the script wherever you want. However, it is a good idea to save
it in a directory where the shell can nd it. The search path in a shell is determined
by the environment variable PATH. Usually a normal user does not have write
access to /usr/bin. Therefore it is recommended to save your scripts in the users'
directory ~/bin/. The above example gets the name hello.sh.
3. The script needs executable permissions. Set the permissions with the following
command:
chmod +x ~/bin/hello.sh
If you have fullled all of the above prerequisites, you can execute the script in the
following ways:
1. As Absolute Path The script can be executed with an absolute path. In our
case, it is ~/bin/hello.sh.
2.
Everywhere If the PATH environment variable contains the directory where the
script is located, you can execute the script just with hello.sh.
18.3 Redirecting Command Events
Each command can use three channels, either for input or output:
• Standard Output This is the default output channel. Whenever a command
prints something, it uses the standard output channel.
• Standard Input If a command needs input from users or other commands, it
uses this channel.
• Standard Error Commands use this channel for error reporting.
To redirect these channels, there are the following possibilities:
Command > File
Saves the output of the command into a le, an existing le will be deleted. For
example, the ls command writes its output into the le listing.txt:
ls > listing.txt
Command >> File
Appends the output of the command to a le. For example, the ls command ap-
pends its output to the le listing.txt:
Bash and Bash Scripts 231