оглавление
В программировании 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.