You can add intelligence to your bash script by making it behave differently in different scenarios. To do that, we use the conditional if statement.
In general, the syntax of the if condition is as follows:
if [ condition is true ]; then
do this ...
fi
For example, let's create a script empty.sh that will examine whether a file is empty or not:
elliot@ubuntu-linux:~$ cat empty.sh
#!/bin/bash
filesize=$(du -bs $1 | cut -f1)
if [ $filesize -eq 0 ]; then
echo "$1 is empty!"
fi
Now let's make the script executable and also create an empty file named zero.txt:
elliot@ubuntu-linux:~$ chmod a+x empty.sh
elliot@ubuntu-linux:~$ touch zero.txt
Now let's run the script on the file zero.txt:
elliot@ubuntu-linux:~$ ./empty.sh zero.txt
zero.txt is empty!
As you can see, the script correctly detects that zero.txt is an empty file; that's because the test condition is true in this case as the file zero.txt is indeed zero bytes in size:
if [ $filesize...