设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 3924|回复: 12
收起左侧

求教 shell脚本的编写 用if语句判断

[复制链接]
发表于 2013-7-18 10:19:29 | 显示全部楼层 |阅读模式
第一题:写一个程序,用来判断0-100的成绩的程序
              59以下输出差,60-80输出良好,81-100输出优
              分别用if和case来完成
第二题:使用循环定义一个IP段,通过ping、fping、nmap扫描网络,将在线和不在线的设备分别输入结果到不同的文件中。第三题:有两台主机A和B。写一个Shell脚本对后端进行探测,探测间隔10秒              如果A和B主机都正常的情况下,将httpd.conf中的默认Listen修改为8080              如果B主机宕机,修改Listen为8081.              如果B主机宕机,修改Listen为8082。              如果A和B同时宕机,修改Listen 为8088。第四题:通过脚本实现交互式或传参数,将任意一个文件,可以拷贝到任意一台或指 定        范围,或读取一个文件列表的主机上。
真心不会啊 求指教 我想通过练习答案的方式来慢慢领悟都是什么意思 刚开始也没人从基础开始教 只能慢慢看视频了

发表于 2013-7-18 10:41:49 | 显示全部楼层
作业吧
沙发 2013-7-18 10:41:49 回复 收起回复
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-18 10:50:55 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-18 11:47:31 | 显示全部楼层
第一题做出来了
#!/bin/bash
echo -n "请输入你的成绩:"
read n
if (($n >=81 && $n<=100))
echo "该成绩为优秀!"
else if (($n>=60 && $n<=80))
echo "该成绩为良好!"
else if (($n<=59))
echo "该成绩为差!"
fi
fi
fi
很多不明白的地方 为什么if判断里:if (($n >=81 && $n<=100)) 要加2个括号? &&这又代表着什么意思? 我记得tar包安装时用make && make install这个命令
还有echo -n 这又是什么意思?
地板 2013-7-18 11:47:31 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-7-18 19:20:38 | 显示全部楼层
xiangdaokong 发表于 2013-7-18 11:47
第一题做出来了
#!/bin/bash
echo -n "请输入你的成绩:"

2括号实现计算,&& 表示与或非的与,echo -n是输出不换行
5# 2013-7-18 19:20:38 回复 收起回复
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-20 11:22:32 | 显示全部楼层
mkmoon 发表于 2013-7-18 19:20
2括号实现计算,&& 表示与或非的与,echo -n是输出不换行

大拿 既然你这么厉害
怎么不帮我回答一下其他的问题啊 我自己做 太难了 做不出来
6# 2013-7-20 11:22:32 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-8-13 08:55:28 | 显示全部楼层
7# 2013-8-13 08:55:28 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-8-23 14:42:23 | 显示全部楼层
好东西,谢谢分享
8# 2013-8-23 14:42:23 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-10-10 15:34:06 | 显示全部楼层
运行了一下,发现第六行报错啊
$ sh 成绩.sh
请输入你的成绩:80
成绩.sh: line 6: syntax error near unexpected token `else'
成绩.sh: line 6: `else if (($n>=60 && $n<=80))'{:soso_e149:}
9# 2013-10-10 15:34:06 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-11-12 19:40:06 | 显示全部楼层
羽扇定乾坤 发表于 2013-10-10 15:34
运行了一下,发现第六行报错啊
$ sh 成绩.sh
请输入你的成绩:80

elif
10# 2013-11-12 19:40:06 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-11-16 18:11:03 | 显示全部楼层
第一题用if好写,用case比较难,不过还是被我找到了:
read -p "pls input you score:" i

case "$i" in
     [1-5][0-9])
    echo "your score is bad,you must study hard !"
;;
     [6-7][0-9]|80)
    echo "your score is Good!"
;;
     [8-9][1-9]|100)
    echo "your score is Very Good!"
;;
  *)
     echo "Usage : $0 num{1-100}"
;;
esac
11# 2013-11-16 18:11:03 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-4-26 09:16 , Processed in 0.064513 second(s), 8 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表