9月13日-9月15日课程作业(练习)

9月13日-9月15日课程作业(练习)

 

5、写一个脚本:如果某路径不存在,则将其创建为目录;否则显示其存在,并显示内容类型;(不要怀疑,就是这么简单)

1 #!/bin/bash
2 #
3 #
4 if [ $# -ne 1 ];then
5 echo "please input one parameter"
6 exit 3
7 fi
8
9 if [ -e $1 ];then
10 echo $(file $1)
11 else
12 mkdir -p $1
13 echo "make directory:"$1
14 fi

6、写一个脚本,完成如下功能;判断给定的两个数值,孰大孰小;给定数值的方法:脚本参数,命令交互;(使用read,依然如此简单)

1 #!/bin/bash
2 #
3 #
4 if ! [ $# -eq 0 ];then
5 if [ $# -lt 2 ];then
6 echo "At leaset two parameter input"
7 exit 3
8 fi
9 anum=$1
10 bnum=$2
11 if [ $anum -gt $bnum ];then
12 echo $anum">"$bnum
13 else
14 echo $bnum">"$anum
15 fi
16 else
17 read -p "please input number a:" anum
18 read -p "please input number b:" bnum
19 if [ $anum -gt $bnum ];then
20 echo $anum">"$bnum
21 else
22 echo $bnum">"$anum
23 fi
24
25 fi

7、求100以内所有奇数之和(至少用3种方法。是的这是我们的作业^_^)

方法一:

1 #!/bin/bash
  2 #
  3 #
  4 for i in {1..100};do
  5     if ! [ $[$i%2] -eq 0 ];then
  6         let sum+=$i
  7     fi
  8 done
  9 echo $sum
 10
 11

方法二:

1 #!/bin/bash
  2 #
  3 #
  4 i=1
  5 while [ $i -le 100 ];do
  6     if ! [ $[$i%2] -eq 0 ];then
  7         let sum+=$i
  8     fi
  9     let i++
 10 done
 11 echo $sum

方法三:

1 #!/bin/bash
  2 #
  3 #
  4 i=1
  5 until [ $i -gt 100 ];do
  6     if ! [ $[$i%2] -eq 0 ];then
  7         let sum+=$i
  8     fi
  9     let i++
 10 done
 11 echo $sum

8、写一个脚本实现如下功能:

(1) 传递两个文本文件路径给脚本;

(2) 显示两个文件中空白行数较多的文件及其空白行的个数;

(3) 显示两个文件中总行数较多的文件及其总行数;

1 #!/bin/bash
  2 #
  3 apath=$1
  4 bpath=$2
  5 anum=0
  6 bnum=0
  7
  8 if [ $# -lt 2 ];then
  9     echo "please input enough parameter"
 10     exit 3
 11 fi
 12
 13 anum=$(egrep "^$" $apath | wc -l)
 14 bnum=$(egrep "^$" $bpath | wc -l)
 15
 16 if [ $anum -gt $bnum ];then
 17     echo "MAX space line file is:"$apath" Total space line:"$anum
 18 elif [ $anum -lt $bnum ];then
 19     echo "MAX space line file is:"$bpath" Total space line:"$bnum
 20 else
 21     echo "The space line "$apath" = "$bpath" Total space line:"$bnum
 22 fi
 23
 24 anum=0
 25 bnum=0
 26 anum=$(cat $apath| wc -l)
 27 bnum=$(cat $bpath| wc -l)
 28
 29 if [ $anum -gt $bnum ];then
 30     echo "MAX line file is:"$apath" Total line:"$anum
 31
 32 elif [ $anum -lt $bnum ];then
 33     echo "MAX line file is:"$bpath" Total line:"$bnum
 34 else
 35     echo "The 2 file lines count is the same, Total line:"$bnum
 36 fi

9、写一个脚本

(1) 提示用户输入一个字符串;

(2) 判断:如果输入的是quit,则退出脚本;否则,则显示其输入的字符串内容;

1 #!/bin/bash
  2 #
  3 #
  4 read -p "please input a char:" achar
  5
  6 if [ "$achar" == "quit" ];then
  7     exit 3
  8 else
  9     echo $achar
 10 fi

10、写一个脚本,打印2^n表;n等于一个用户输入的值;(不好意思,我调皮了)

1 #!/bin/bash
  2 #
  3 #
  4 if ! [ $# -eq 1 ];then
  5     echo "please input one parameter"
  6     exit 3
  7 fi
  8
  9 results=0
 10 chars=2
 11
 12 for i in $(seq 1 $1);do
 13     if [ $i == "1" ];then
 14         chars+="x1"
 15     else
 16         chars+="x2"
 17     fi
 18     results=$[2**$i]
 19     echo $chars"="$results
 20     if [ $i == "1" ];then
 21         chars=2
 22     fi
 23 done

11、写一个脚本,写这么几个函数:函数1、实现给定的两个数值的之和;函数2、取给定两个数值的最大公约数;函数3、取给定两个数值的最小公倍数;关于函数的选定、两个数值的大小都将通过交互式输入来提供。

1 #!/bin/bash
  2 #
  3 #求两数之和
  4 function two_num_count(){
  5     read -p "please input two num:" a b
  6
  7     if [ -n "$a" -a -n "$b" ];then
  8         counts=$[$a+$b]
  9         echo $counts
 10         return 3
 11     else
 12         echo "not enough parameter"
 13         exit 22
 14     fi
 15 }
 16
 17
 18 #求两数最大公约数
 19 function maxx(){
 20     local a
 21     local b
 22     local c
 23     local aold
 24     local bold
 25
 26     read -p "please input two num:" a b
 27     if [ -n "$a" -a -n "$b" ];then
 28         aold=$a
 29         bold=$b
 30         c=$[$a%$b]
 31         while [ $c -ne 0 ];do
 32             a=$b
 33             b=$c
 34             c=$[$a%$b]
 35         done
 36         echo $aold" and "$bold" GCD is:"$b
 37     else
 38         echo "not enough parameter"
 39         exit 22
 40     fi
 41 }
 42
 43 #求两数最小公倍数
 44 function minx(){
 45 #最小公倍数=axb/ab的最大公约数
 46     #求最大公约数开始
 47     local a
 48     local b
 49     local aold
 50     local bold
 51     local c
 52     local c1
 53
 54     read -p "please input two num:" a b
 55     if [ -n "$a" -a -n "$b" ];then
 56         aold=$a
 57         bold=$b
 58         c=$[$a%$b]
 59         while [ $c -ne 0 ];do
 60             a=$b
 61             b=$c
 62             c=$[$a%$b]
 63         done
 64     #求最大公约数结束
 65         #求最小公倍数开始
 66         c1=$[$aold*$bold/$b]
 67         echo $aold" and "$bold" LCM is:"$c1
 68         #求最小公倍数结束
 69     else
 70         echo "not enough parameter"
 71         exit 22
 72     fi
 73
 74 }
 75
 76
 77 echo "please input num to select function:"
 78 echo "1.两数值求和(Two number sum)"
 79 echo "2.求两数最大公约数(GCD)"
 80 echo "3.求两数最小公倍数(LCM)"
 81 read -p ":" snum
 82
 83 if [ -n $snum ];then
 84     case $snum in
 85     1)
 86         two_num_count
 87         ;;
 88     2)
 89         maxx
 90         ;;
 91     3)
 92         minx
 93         ;;
 94     *)
 95         echo "Please select the correct options"   
 96         exit 22
 97     esac
 98 else
 99     echo "please choose"
100     exit 22
101 fi

时间: 2024-10-24 22:20:42

9月13日-9月15日课程作业(练习)的相关文章

香蕉派(banana pi )2015年10月 13 号至10月16号参加香港贸发局香港秋季电子

香蕉派(banana pi )将于2015年10月 13 号至10月16号参加香港贸发局香港秋季电子产品展, 欢迎各位前来参观指导 展会名称:香港贸发局香港秋季电子产品展2015时间: 2015年10月13号--10月16号 展台编号:3C-A38地址: 香港湾仔博览道1号香港会议展览中心 期待您的到来!!

2019第一期《python测试开发》课程,10月13号开学

2019第一期<python测试开发>课程,10月13号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学,方便交流 本期上课时间:10月13号-12月8号,每周六.周日晚上20:30-22:30 报名费:报名费2000一人(周期2个月) 联系QQ:283340479 课表如下 课程主要涉及的内容: 1.httprunner框架以及web平台做接口自动化测试 (装逼必备) 2.django平台开发 (python开发必会) 3.pytest框架结合selenium做web自动化测试 (

13家中国域名商(国际域名)解析量报告(9月15日)

IDC评述网(idcps.com)09月18日报道:根据DailyChanges公布的实时数据显示,截止至2015年9月15日,国内域名解析量十三强排名顺序,与上期9月8日对比,有所变化.易名中国.爱名网排名均上升1位,分别取代了51DNS.35互联,获得第4.7名.其中,易名中国环比净增51,977个,涨幅在十三强中排第2. (图1)中国域名解析商(国际域名)解析量排行榜TOP13分布图 如图1所示,截止至2015年9月15日,国内域名解析量十三强比拼中,中国万网.DNSPod.新网稳居前三,

2015年9月13日和15日【shell、sed&awk 的使用(一)】-JY1506402-19+liuhui880818

目录: 一.shell程序的运行原理 二.shell常用技巧 1.命令历史 2.命令别名 3.命令引用 4.文件名通配 5.常用快捷键 6.补全功能 7.输入输出重定向和管道 8.与用户交互命令 9.脚本的规范建立与执行 10.bash常用选项 11.命令状态结果 持续发现中... 三.常用知识点说明 1.变量 1)变量类型 2)本地变量 3)环境变量 4)特殊变量 2.条件测试 1)整数测试 2)字符串测试 3)文件测试 4)测试表达式 3.条件判断(选择执行) 4.脚本参数(位置参数变量)

(X6支持https)2017年9月15日友价T5X6商城站长交易源码仿互站送手机版程序8套模版

(https专版)2017年9月15日友价T5X6商城站长交易源码仿互站送手机版程序8套模版 修复官方版本的各种问题,, 安装步骤,1.将源码上传到主机,2.专入数据库文件.依次导入codes_170915.sql codes_data.sql codes_data_city.sql后台用户名密码: admin admin123 友价源码 X620170915补丁(主要修复https SSL及兼容问题) 以下是本次补丁的升级内容: 1.修复https微信登录功能2.手机版SSL错误,兼容http

软考信息系统监理师,2016年3月15日作业

软考信息系统监理师,2016年3月15日作业: 第一章:监理基础 1.目前我国信息服务管理包括哪四个方面措施? 答: (1) 计算机信息系统集成单位资质管理 (2) 信息系统项目经理资格管理 (3) 信息系统工程监理单位资质管理 (4) 信息系统工程监理人员资格管理 2.什么是信息系统工程? 答: 信息化工程建设中的信息网络系统.信息资源系统.信息运用系统的新建.升级.改造工程 3.什么是四控三管一协调? 答: 四控"指信息系统工程的质量控制.进度控制.投资控制.变更控制: "三控&q

4月13日作业

2016年4月13日作业 一.外包管理 1.外包的形式有哪五种?什么是利益关系? 活动外包,服务外包.内包.合包.利益关系. 利益关系是一种长期合作关系,双方先为此关系进行投资,再根据预先拟定的协议分享利益,共同承但风险,同时共享利益.如果利益无法实现,供应商不会因他们的努力与投入而获得任何报酬. 2.外包管理的目标是什么?要实现这个目标,对外包管理提出哪四个方面的要求? 用强有力的手段来管理同时进行众多外包项目,满足进度.质量.成本的要求. 要求:慎重选择合格的软件承包商:互相同意对方的承诺:

软考信息系统监理师,2016年3月15日作业(冬青子)

软考信息系统监理师,2016年3月15日(冬青子)作业: 第一章:监理基础1.目前我国信息服务管理包括哪四个方面措施? 答:一是计算机信息系统集成单位资质管理: 二是信息系统项目经理资格管理: 三是信息系统工程监理单位资质管理: 四是信息系统工程监理人员资格管理.2.什么是信息系统工程? 答:是指信息化工程建设中的信息网络系统.信息资源系统.信息运用系统的新建.升级.改造工程.3.什么是"四控三管一协调"? 答:"四控"指信息系统工程的质量控制.进度控制.投资控制.

1月13日全球域名商解析新增量25强:万网季军

IDC评述网(idcps.com)01月15日报道:根据DailyChanges公布的最新数据显示,在2016年1月13日,全球域名解析新增量25强榜单上,中国占据7个席位,分别是中国万网.易名中国.DNSPod.西部数码.新网.邦腾科技.聚名网.其中,中国万网表现最佳,新增量为8,507个,排名第3.下面,IDC评述网将对相关数据进行详细分析. (图1)全球域名解析商(国际域名)解析新增量Top25分布图 观察图1,可知在1月13日,全球域名解析新增量25强大战中,DOMAINCONTROL.