1. Shell to determine the file, whether the directory exists or has permissions
2. #!/bin/sh
3.
4. Mypath= "/var/log/httpd/"
5. myfile= "/var/log/httpd/access.log"
6.
7. # the-x parameter here determines whether the $mypath exists and has executable permissions
8. If [!-X "$myPath"]; Then
9. mkdir "$myPath"
Ten. Fi
11.
12. # The-d parameter here determines whether $mypath exists
if [!-D "$myPath"]; Then
mkdir "$myPath"
. Fi
16.
17. # Here's the-f parameter to determine if $myfile exists
if [!-F "$myFile"]; Then
Touch "$myFile"
. Fi
21st.
22. # Other parameters also have-n,-n is to determine whether a variable has a value
if [!-n "$myVar"]; Then
echo "$myVar is empty"
Exit 0
. Fi
27.
28. # Two variables are judged equal
If ["$var 1" = "$var 2"]; Then
Echo ' $var 1 eq $var 2 '
. else
Echo ' $var 1 not EQ $var 2 '
. Fi
The difference between-F and-E
Conditional Logic on Files
-A file exists.
-B file exists and is a block special file.
-c file exists and is a character special file.
-D file exists and is a directory.
-e file exists (just the same as-a).
-F file exists and is a regular file.
-G file exists and have its setgid (2) bit set.
-G file exists and have the same group ID as this process.
-K file exists and have its sticky bit set.
-l file exists and is a symbolic link.
-N string length is not zero.
-o Named option is set on.
-O file exists and is owned by the user ID of this process.
-P file exists and is a first in, first Out (FIFO) special file or
Named pipe.
-R file exists and is readable by the current process.
-S file exists and has a size greater than zero.
-s file exists and is a socket.
-T file descriptor number Fildes is open and associated with a
Terminal device.
-U file exists and have its setuid (2) bit set.
-W file exists and is writable by the current process.
-X file exists and is executable by the current process.
-Z string length is zero.
is the difference with-s or with-f this is very big!
#shell判断文件夹是否存在 # If the folder does not exist, create a folder if [!-D "/myfolder"]; Then Mkdir/myfolderfi#shell determine the file, whether the directory exists or has permissions folder= "/var/www/" file= "/var/www/log" #-x parameter to determine $folder Whether it exists and has enforceable permissions if [!-X ' $folder]; Then mkdir the "$folder" fi#-D parameter to determine if there is an IF [!-D "$folder"]; then mkdir "$folder" fi#-F parameter to determine if $file exists if [! -F "$file"]; Then touch "$file" fi#-N to determine if a variable has a value if [!-n "$var"]; then echo "$var is empty" exit 0fi# determine if two variables are equal if ["$va R1 "=" $var 2 "]; Then echo ' $var 1 eq $var 2 ' else echo ' $var 1 not EQ $var 2 ' fi
The shell determines whether the condition exists