if条件判断
单分支if条件语句
语句格式:
if [ 条件判断式 ]
#如果条件判断式满足条件,就执行then后的程序命令
#如果不满足条件,则直接退出
then
程序
fi
注意:
- if语句必须用fi结束
- 条件判断式的[],[]中的判断式条件必须要有空格(如:[ $a -le $b ]都要有一个空格)
- then后后面的程序,是在条件判断式成立后采取执行
双分支if条件语句
语句格式:
if [条件判断式]
then
程序
#条件成立,执行的程序
else
程序
#条件不成立,执行的程序
fi
多分枝if分支语句
语句格式:
if [条件判断式1]
then
程序
#条件判断式1成立,执行程序1
elif [条件判断式2]
then
程序
#条件判断式2成立,执行程序2
#还可以写更过的else………
else
程序
#都不成立,则执行此程序
fi
注意:如果满足了条件判断式1,则不会继续往下判断,会执行此判断式的程序,执行完结束
if条件判断脚本
if条件判断-判断文件是什么类型的
#!/bin/bash
read -p "请输入要判断的文件名(绝对路径):" filename
if [ -L $filename ]
then
if [ -c $filename ]
then
echo "这个文件是字符设备文件的软链接文件"
elif [ -b $filename ]
then
echo "这个文件是块设备文件的软链接文件"
elif [ -f $filename ]
then
echo "这个文件是普通文件的软链接文件"
elif [ -d $filename ]
then
echo "这个文件是目录文件的软链接文件"
elif [ -p $filename ]
then
echo "这个文件是管道符文件的软链接文件"
else [ -S $filename ]
echo "这个文件是套接字文件的软链接文件"
if
elif [ -c $filename ]
then
echo "这个文件是字符设备文件"
elif [ -b $filename ]
then
echo "这个文件是块设备文件"
elif [ -f $filename ]
then
echo "这个文件是普通文件"
elif [ -d $filename ]
then
echo "这个文件是目录文件"
elif [ -p $filename ]
then
echo "这个文件是管道符文件"
elif [ -S $filename ]
then
echo "这个文件是套接字文件"
else
echo "咱也不知道这是个啥文件"
if条件判断-用来配置新虚拟机的ip
network="/etc/sysconfig/network-scripts/ifcfg-ens33"
if [ -f $network ]
#首先判断网卡文件是不是一个普通文件
then
sed -i '4s/dhcp/static/' $network
#把网卡文件中的第四行的dhcp换成static
echo "请输入要设置的IP地址:"
read IPADDR
echo "请输入要设置的子网掩码(数值):"
read PREFIX
echo "请输入要设置的网关地址:"
read GATEWAY
echo "请输入要设置的首选DNS地址:"
read DNS1
echo "请输入要设置的备用DNS地址:"
read DNS2
echo -e "IPADDR=$IPADDR\nPREFIX=$PREFIX\nGATEWAY=$GATEWAY\nDNS1=$DNS1\nDNS2=$DNS2" >>$network
#把输入的变量值追加到网卡文件中
fi