bash编程之条件判断:判定后续操作的前提条件是否满足
常用判断类型:
整数判断:
字符判断:
文件判断:
$?:状态返回值
0:真
1-255:假
我们可以将状态返回值作为判断条件,不需要加` `
布尔值:
真和假
逻辑运算:
与运算:&&
或运算:||
非运算:!
bash中条件判断使用if:
单分支:
if 条件; then
分支1;
fi
双分支:
if 条件; then
分支1;
else
分支2;
fi
多分支:
if 条件; then
分支1;
elif 条件2; then
分支2;
elif 条件3; then
分支3;
.
.
else
分支N;
fi
练习:1.让用户指定一个文件,判定:如果文件有空白行,就显示空白行的行数
nano spaceline.sh
#!/bin/bash
#
read -p "Enter a file path:" flieName
if grep "^$" $fileName &> /dev/null; then 此处不加` `因为我们用的不是命令的结果而是命令状态返回值
linesCount=`grep "^$" $fileName | wc -l`
echo "$fileName has $linesCount space lines."
fi
练习:2.让用户指定一个文件,判定:如果文件有空白行,就显示空白行的行数,否则就输出没有空白行
cp spaceline.sh spaceline2.sh
nano spaceline2.sh
#!/bin/bash
#
read -p "Enter a file path:" fileName
if grep "^$" $fileName &> /dev/null; then
linesCount=`grep "^$" $fileName | wc -l`
echo "$fileName has $linesCount space lines."
else
echo "$fileName have no space lines"
fi