3. The script needs executable permissions. Set the permissions with the following
command:
chmod +x ~/bin/hello.sh
If you have fulllled 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:
ls >> listing.txt
Command < File
Reads the le as input for the given command. For example, the read command
reads in the content of the le into the variable:
read a < foo
Command1 | Command2
Redirects the output of the left command as input for the right command. For
example, the cat command outputs the content of the /proc/cpuinfo le. This
output is used by grep to lter only those lines which contain cpu:
Bash and Bash Scripts 229