Get the App
SLTechnology News&Howtos  ›  Servers  › 

Conditional statements of Shell scripts

Shulou Source: shulou.com Published: 2022-06-02 18:14:32 09月27日 Update

condition test

1. Document testing

2, integer test

3. String and logic tests

If statement:

if single branch statement

if double branch statement

if multi-branch statement

if nested statement

Test command:

Tests whether a particular expression holds true. When the condition holds, the return value of the test statement is 0, otherwise it is another value.

Format 1: test conditional expression

Format 2:[conditional expression] //note spaces

file test

File testing refers to judging whether a file or directory corresponds to a given path name, or whether a file is readable, writable, executable, etc.

Common test operators:

-d: Test whether it is Directory

-e: Test whether the directory or file exists (Existing)

-f: Test whether it is a file (File)

-r: Test whether the current user has read permission

-w: Tests whether the current user has permission to write

-x: Tests whether the current user has permission to execute (eXcute)

Actual operation:

Format 1:

test -d /etc/sysconfig

echo $? (If the output value is 0, the condition is true)

Format 2:

[ -d /etc/sysconfig ]

echo $? (If the output value is 1, the condition is not true)

Compare integer values:

Format: [integer 1 operator integer 2 ]

Common test operators:

-eq =(Equal)

-ne: not equal

-gt: Greater Than

-lt: Lesser Than

-le: Less or Equal

-ge: Greater or Equal

string comparison

Format 1:[String 1 = String 2 ]

[String 1 ! = string 2 ]

Format 2:[ -z string]

Common test i operators:

=: String content identical

!=:String content is different,! expresses a contrary intention

-z: string content is empty

logic test

Format 1:[Expression 1 ] Operator [Expression 2 ]...

Format 2: Command 1 Operator Command 2...

Common operation options

-a or &&: logical and, meaning "and"

-o or|| logical OR logical OR

!:Logic no means "no."

If statement:

Single branch structure:

if conditional test operation

then

command sequence

fi

Double branch structure:

if conditional test operation

then

Command sequence 1

else

Command Sequence 2

fi

Multi-branch structure:

if conditional test operation

then

Command sequence 1

elif conditional test operation 2

then

Command Sequence 2

else

Command sequence 3

fi

If nested statements:

Objective: Run a race, enter the finals within 10 seconds, enter gender, prompt to enter men's group or women's group respectively, use multiple judgments, nested if to achieve

Tags: Tests conditions characters strings commands formats statements files branches sequences operators expressions logic commonly used meaning directories contents integers permissions users Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Linux MySQL macOS Shulou Technology Shulou Tech Info