第一种:
#!/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 ~