case分支判断结构
语法:
case 变量名称 in
value1)
statement
statement
;;
value2)
statement
statement
;;
value3)
statement
statement
;;
*)
statement
statement
;;
esac
编写脚本,判断用户输入的字符串
#!/bin/bash
#
read -p "Enter string: " str
case $str in
linux|Linux)
echo "windows."
;;
windows|Windows)
echo "linux."
;;
*)
echo "other."
;;
esac
特殊变量:
位置变量
$1, $2 ,$3 ,$4 ...... $9, ${10},
$1: 命令的第1个参数
$0 命令本身
$# 命令参数的个数
使用位置变量:
#!/bin/bash
#
case $1 in
linux)
echo "windows."
;;
windows)
echo "linux"
;;
*)
echo "other"
;;
esac
#!/bin/bash
#
if [ -z $1 ]; then
echo "用法:./11.sh {linux|windows|other}"
exit 9
fi
case $1 in
linux)
echo "windows."
;;
windows)
echo "linux"
;;
*)
echo "other"
;;
esac
使用$#判断参数是否正确
#!/bin/bash
#
if [ $# -ne 1 ]; then
echo "用法:./11.sh {linux|windows|other}"
exit 9
fi
case $1 in
linux)
echo "windows."
;;
windows)
echo "linux"
;;
*)
echo "other"
;;
esac
[root@shell ~]# basename /etc/sysconfig/network-scripts/ifcfg-eth0 >>>获取文件名称
ifcfg-eth0
[root@shell ~]# dirname /etc/sysconfig/network-scripts/ifcfg-eth0 >>>获取文件所在的目录名称
/etc/sysconfig/network-scripts
[root@shell ~]#