Common conditions in linux Shell:-B file: if the file exists and is a special block file, it is true-c file. If the file exists and is a special character file, true-d file if the file exists and is a directory, true-e file if the file exists, true-f file if the file exists and is a rule file, true-g file if the file exists and the value of SGID is set, true-h file if the file exists and is a link that matches, true-k file if the file exists and the "sticky" bit value is set-p file if the file exists and is a named pipe, true-r file if the file exists and is readable, true-s file if the file exists and its size is greater than zero, true-u file if the file exists and the SUID bit is set, true-w file if the file exists and can be written, true-x file if the file exists and is executable, true-o file if the file exists and is owned by a valid user ID, true-z string if the string is long If the degree is 0, it is true-n string. If the string length is not 0, it is true string1 = string2. If the two strings are equal, it is true string1! = String2 if the two strings are not equal, true int1-eq int2 if int1 is equal to int2, true int1-ne int2 if int1 is not equal to int2, true int1-lt int2 if int1 is smaller than int2, true int1-le int2 if int1 is smaller than or equal to int2, true int1-gt int2 if int1 is greater than int2, true int1-ge int2 if int1 is greater than or equal to int2, true! If expr is false, the composite expression is true. Expr can be any valid test expression expr1-a expr2 if both expr1 and expr2 are true, the entire formula is true expr1-o expr2 if expr1 and expr2 are true, the entire formula is true. The special variable $0 is name of the executed command. For shell scripts, this is the path of the activated command $ n. This variable corresponds to the parameters included when the script is activated. N is a positive integer corresponding to the parameter location ($1, $2 ...) $ # Provide the script parameter number $ * all these parameters are enclosed by double quotation marks. If a script receives two parameters, $ * equals to $1 $2 $ @. All these parameters are enclosed in double quotation marks. If a script receives two parameters, $ @ is equivalent to $1 $2 $? Exit status after the previous command is executed $ process Number of the current shell. For a shell script, This is the ID of the Process in progress $! Process number of the previous background command