《shell脚本if..then..elif..then.if语句的总结》

时间:2021-03-29 20:27:27

第一种:

#!/bin/bash service vsftpd start &> /dev/null if

[ $? -eq 0 ]

then

echo "ftp is start"

else

service vsftpd start

fi

第二种:

#!/bin/bash read -p "input your file name " file_name

if [ -d $file_name ]  //判断是否为目录

then

echo " this file is directory!"

elif [ -f $file_name ]  //是否为文件

then

  echo "this file is file"

elif [ -c $file_name -o -b $file_name ]  //是否为字符设备或块设备,符合其一就ok

then

echo "this is block file" else   echo "this file unknown"

fi

[root@redhat shellscripts]# ll /dev/sda brw-rw----. 1 root disk 8, 0 Jun  1 10:05 /dev/sda

[root@redhat shellscripts]# ll /dev/tty crw-rw-rw-. 1 root tty 5, 0 Jun  1 10:05 /dev/tty

第三种:

#!/bin/bash

if [ $# -ne 2 ]

then

echo "Not enough parameters"

exit 0  //如果不是2个数,则跳出循环

fi

if [ $1 -eq $2 ]

then

echo "$1 = $2"

elif [ $1 -lt $2 ]

then

echo "$1 < $2"

fi

执行的结果:

[root@redhat shellscripts]# sh test.sh 1 1 1 = 1

[root@redhat shellscripts]# sh test.sh 1 2 1 < 2 ~