The fundamental conditional instruction if..then..elif..else..fi
is slightly different from the traditional notation found in C. Its structure is:
if [condition1]; then
elif [condtion2]; then
The meaning of the different commands is this:
- if: executes code1 if the [condition1] is true.
- then: tells where the code to be executed according to the condition begins.
- elif: equivalent of else if in C. Executes code2 if [condition2] is true, but [condition1] is not true. It also terminates the part of code executed by the previous if / elif.
- else: executes code3 if none of the previous conditions is true.
- fi: ends the conditional block.
The following script checks if a file exists:
if [ -f topolino.c ];
echo "The file does not exists"
The conditions are always written inside square brackets. Note that the opening bracket should always be followed by a space, and the closing one preceded by a space. A series of operators exists in order to verify files conditions, according to the following syntax:
[ check_operator /etc/file_to_check]
These controls are:
|-d:||Checks that the file is a directory|
|-e:||Checks that the file exists|
|-f:||Checks that the file is regular|
|-g:||Checks that the SGID bit is set|
|-r:||Checks that the file has the permissions for |
reading for the user executing the script
|-s:||Checks that the file has a non zero dimension|
|-u:||Checks that the SUID bit is set|
|-w:||Checks that the file is writable|
No comment present!
Write a comment
You can write here a comment to the article you've just read. Smiles, links and images are not allowed. The maximum comment length is 4000 characters. Please be polite, all the offensive messages will be deleted.