工作随笔--奋斗的人生最幸福
Smile and laugh more.They are natural anti-depressants.
test <测试表达式>与[ <测试表达式> ]等价
如果flie文件存在,则输出true,否则(||)输出false。
-f #文件存在且为普通文件则表达式成立
-z #如果测试字符串的长度为0,则表达式成立
&&、||、>、<等操作符可以应用于[[ ]]中,但不能应用于[]中,在[]中一般使用-a、-o、-gt(用于整数)、-lt(用于整数)。
例:使用read传入数字等于1,就打印1。如果等于2,就打印2。如果不等于1也不等于2,就提示错误。
例:使用read读入方式比较两个整数的大小。
执行结果:
例:打印选择菜单,按照选择项一键安装不同的WEB服务。
代码:
#!/bin/sh
cat <<EOF
1.[install lamp]
2.[install lnmp]
3.[exit]
please input the num:
EOF
sh_path=/server/scripts
[ ! -d ${sh_path} ] && {
mkdir -p ${sh_path}
}
read num
expr ${num} + 1 &>/dev/null;
[ $? -ne 0 ] && {
echo "please input the num is {1|2|3}!";
exit 0;
}
[[ ! ${num} = [1-3] ]] && {
echo "please input the num is {1|2|3}!";
exit 1;
}
[ ${num} -eq 1 ] && {
echo "start installing lamp:";
[ -x ${sh_path}/lamp.sh ] || {
echo "${sh_path}/lamp.sh does not exist or can't be exe.";
exit 2;
}
${sh_path}/lamp.sh;
exit $?;
}
[ ${num} -eq 2 ] && {
echo "start installing lnmp:";
[ -x ${sh_path}/lnmp.sh ] || {
echo "${sh_path}/lnmp.sh does't exist or can't be exec.";
exit 3;
}
${sh_path}/lnmp.sh;
exit $?;
}
[ ${num} -eq 3 ] && {
echo "exit"
exit 4;
}
执行结果:
-END-
推荐阅读 点击☟蓝色字体即可跳转 |
◆
◆
◆
◆
版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《Shell编程:shell脚本的条件测试》的版权归原作者「自动化运维工程师」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458
文章来源: 阅读原文
自动化运维工程师微信公众号:guihua_blog
手机扫描上方二维码即可关注自动化运维工程师微信公众号