Оператор if для программирования оболочки | подробные + примеры

  оглавление

1. Базовая грамматика

1.1 если

1.2 если еще 

1.3 если elif

2. Примеры

2.1 оператор if

2.2 оператор if else

2.3 оператор if elif

Три, резюме


В программировании Shell при оценке часто используются операторы if, однако есть некоторые различия между операторами if в Shell и C / C ++ / Java и других языках, которые поясняются ниже с примерами.

1. Базовая грамматика

Оператор if в основном имеет следующие формы. 

1.1 если

(1) Первая форма

if condition; then
    符合 condition 的执行语句
fi

Примечание: в конце if переворачивается и пишется fi как знак конца. 

(2) Форма два

Вы можете написать это в одной строке с помощью if или записать его в отдельных строках, как показано ниже:

if condition
then
    符合 condition 的执行语句
fi

1.2 если еще 

Единственный оператор if else выглядит следующим образом: 

if condition
then
    符合 condition 的执行语句
else
    不符合 condition 的执行语句
fi

Здесь then можно также записать в одной строке с if. 

1.3 если elif

Примечание. В Shell, иначе if сокращается как elif, elif также должен иметь then, как показано ниже: 

if condition_1
then
    符合 condition_1 的执行语句
elif condition_2
then
    符合 condition_2 的执行语句
else 
    不符合 condition_1 和 condition_2 的执行语句
fi

Конечно, есть и другие комбинации, которые здесь не объясняются. 

2. Примеры

2.1 оператор if

#!/bin/bash

file="/root"

#形式一
if [ -d $file ]; then
    echo "$file is directory!"
fi

#形式二
if [ -d $file ]
then
    echo "$file is directory!"
fi

2.2 оператор if else

#!/bin/bash

file="/root"
if [ -d $file ]
then
    echo "$file is directory!"
else
    echo "$file is not directory!"
fi

2.3 оператор if elif

#!/bin/bash

file="/root"
if [ -f $file ]
then
    echo "$file is regular file!"
elif [ -d $file ]
then
    echo "$file is directory!"
else
    echo "$file is not regular file and directory"
fi

Три, резюме

Логика суждения оператора if является общей для различных языков программирования. В Shell обратите внимание на использование fi в конце оператора if (если оно написано в обратном порядке), иначе if должно быть записано как elif, и не забывайте то при написании if и elif.

рекомендация

отblog.csdn.net/u011074149/article/details/113716153
рекомендация