-->
Adventures & experiences in contemporary technology
I recently was having a play with using a shell script to do some folder creation to help me set up a system for testing and I started to hit ownership issues that caused some shell script errors. At the time, I didn’t realise that there is a test that you can perform for ownership. The "-o" in the code below kicks in the test condition and avoids the error in question.
if [[ -o $dirname ]]
then
cd test
for i in 1 2 3 4 5 6 7 8 9 10
do
if [[ -d study$i ]]
then
:
else
mkdir study$i
fi
done
ls
cd ~
fi
Previously, I shared a way to test for directory (-d operator) and file (-f operator) existence that follows the above coding convention. However, there are a plethora of others and I have made a list of them here:
Operator | Condition |
-e file | File exists |
-L file | File is symbolic link |
-r file | User has read access to file |
-s file | File is non-empty |
-w file | User has write access to file |
-x file | User has execute access to file |
-G file | User’s effective group ID is the same as that of the file |
file1 -nt file2 | File 1 is newer than file2 |
file1 -ot file2 | File 1 is older than file2 |
file1 -et file2 | File 1 was created at the same time as file2 |
It’s all useful stuff when you want to rid the command line output of errors in an above board sort of way. These are the kinds of things that often make life easier…