1、编写函数,实现打印绿色OK和红色FAILED

判断是否有参数,存在为Ok,不存在为FAILED

[root@bogon shell]# vim printcolor.sh
//脚本内容如下:
#!/bin/bash
fun(){if [ $# -ne 0 ]thenecho -e "\033[32m OK \033[0m"elseecho -e "\033[31m FAILED \033[0m"fi
}
read -p "请输入参数:" i
fun $i

测试

2、编写函数,实现判断是否无位置参数,如无参数,提示错误

[root@bogon shell]# vim weizhi.sh//脚本内容如下:
#!/bin/bash
fun(){
if [ $# -eq 0 ]
thenecho "无位置参数!"
elseecho "位置参数为:$@"
fi
}
read -p "请输入参数:" i
fun $i 

测试

3、编写函数实现两个数字做为参数,返回最大值

[root@bogon shell]# vim fun_max.sh//脚本内容如下:
#!/bin/bash
fun(){if [ $a -gt $b ]thenecho "最大值为:$a"elif [ $a -eq $b ]thenecho "a=b"else    echo "最大值为:$b"fi
}
read -p "请输入两个数字:" a b
fun $a $b

测试

4、编写函数,实现两个整数位参数,计算加减乘除。

[root@bogon shell]# vim fun_yunsuan.sh//脚本内容如下:
#!/bin/bash
fun(){echo "$a+$b的值为:$[$a+$b]"echo "$a-$b的值为:$[$a-$b]"echo "$a*$b的值为:$[$a*$b]"echo "$a/$b的值为:$[$a/$b]"
}
read -p "请分别输入a和b的值:" a b
fun $a $b

测试:

5、将/etc/shadow文件的每一行作为元素赋值给数组

[root@bogon shell]# vim array_fuzhi.sh//脚本内容如下:#!/bin/bash
num=`wc -l < /etc/shadow`
for ((i=0;i<=num;i++))
doarray[$i]=$(head -$i /etc/shadow | tail -1)
done
for i in ${array[*]}
doecho $i
done

测试:

6、使用关联数组统计文件/etc/passwd中用户使用的不同类型shell的数量

[root@bogon shell]# vim guanlianarray.sh//脚本内容如下:#!/bin/bash
declare -A tshell
while read line
dotype=`echo $line | awk -F: '{print $7}'`let tshell[$type]++
done < /etc/passwd
for i in ${!tshell[@]}
doecho "$i ...${tshell[$i]}"
done

测试:

7、使用关联数组按扩展名统计指定目录中文件的数量

[root@bogon shell]# vim guanlianarray_kzm.sh//脚本内容如下:#!/bin/bash
declare -A Array
ls $1 | sed 's/ /\n/g' >> $1/FileName.txt
while read FileName
doArrayIndex=${FileName##*.}let Array[$ArrayIndex]++
done < $1/FileName.txt
for i in ${!Array[@]}doecho "$i :::::: ${Array[$i]}"done
rm -f $1/FileName.txt

测试:

shell 第五次作业(函数、数组)相关推荐

  1. C语言第五次作业函数

    一.PTA实验作业 题目1: 6-6 使用函数输出水仙花数 1.本题PTA提交列表 2.设计思路 1.narcissistic函数 1.由于number的值后面会变化,所以定义d,e用于储存numbe ...

  2. Shell进阶(三) 交互式脚本 函数 数组 分片 字符串处理

    1.函数介绍 函数function是由若干条shell命令组成的语句块,实现代码重用和模块化编程 它与shell程序形式上是相似的,不同的是它不是一个单独的进程,不能独立运行,而是shell程序的一部 ...

  3. c语言第五章作业,《C语言程序设计》第五章作业.doc

    <C语言程序设计>第五章作业 窗体顶端 <C语言程序设计>第5章作业 布置日期:2012-3-15?????截止日期:2012-3-22 一. 单选题 (每小题6分,共102分 ...

  4. Linux Shell高级技巧(五)

    二十五.通过FTP下载指定的文件: 相比于手工调用FTP命令下载文件,该脚本提供了更为方便的操作方式.       /> cat > test25.sh       #!/bin/sh   ...

  5. 耿丹CS16-2班第五次作业汇总

    Deadline: 2016-10-26 23:59 作业内容 实验4-1 求1到20的阶乘的和,其中求阶乘用函数完成.实验4-2 写一个判素数的函数,在主函数输入一个整数,输出其是否是素数的信息.实 ...

  6. C语言基础课第五次作业

    PTA第五次作业 7-2 统计一行文本中的单词个数 一.程序代码 #include<stdio.h>int main(void) {char string[10000];int i,num ...

  7. BUAA数据结构第五次作业2023

    文章目录 BUAA数据结构第五次作业2023 1. 树叶节点遍历(树-基础题) 题目 问题描述 输入形式 输出形式 样例输入 样例输出 样例说明 评分标准 问题分析 具体处理过程 完整代码 2. 词频 ...

  8. 通过脚本案例学习shell(五) 通过创建DNS脚本一步一步教你将一个普通脚本规范到一个生产环境脚本...

    通过脚本案例学习shell(五) 通过创建DNS脚本一步一步教你将一个普通脚本规范到一个生产环境脚本   版权声明: 本文遵循"署名非商业性使用相同方式共享 2.5 中国大陆"协议 ...

  9. 2021年春季学期-信号与系统-第十五次作业参考答案-第五小题参考答案

    本文是 2021年春季学期-信号与系统-第十五次作业参考答案 中各小题的参考答案. §05 第五小题 5.设系统的频率特性幅度平方函数的表达式为:(1)∣H(jΩ)∣2=1Ω4+Ω2+1\left( ...

  10. 2021年春季学期-信号与系统-第十五次作业参考答案

    ▓ 第十五次作业各小题参考答案: 2021年春季学期-信号与系统-第十五次作业参考答案-第一小题参考答案 2021年春季学期-信号与系统-第十五次作业参考答案-第二小题参考答案 2021年春季学期-信 ...

最新文章

  1. android注入 定位,[原创]修改源码实现全局(无需root)注入躲开注入检测
  2. python实现交并比IOU
  3. oracle 会话实例,返璞归真:Oracle实例级别和会话级别的参数设置辨析
  4. 怎么跟踪php代码,第九节 PHP 跟踪调试代码 XDebug
  5. 程序员面试金典——1.6像素翻转
  6. 【论文分享】ACL 2020 信息抽取任务中的新动向
  7. java修改桌面背景_用Java更换Windows桌面壁纸
  8. 全家桶靠边站 用Windows自带功能解决3大难题
  9. 如何在Excel中启用宏?
  10. 安卓系统应用程序开发!灵魂一问-如何彻底防止APK反编译?大厂面试题汇总
  11. 在Matlab中绘制系统的根轨迹图
  12. 大数据中心的解决方案,主要有哪些特点?
  13. php自动收录导航程序,最新自动收录自带查反链导航源码
  14. opa847方波放大电路_采用电压反馈放大器OPA846、OPA847.ppt
  15. 应用安全市场在我们国家当前的情况
  16. [项目管理]项目计划如何做
  17. openGauss [DataStudio连接] [白名单配置]
  18. android 抽屉组件,Android 抽屉控件 VerticalDrawerLayout
  19. ffmpeg 合并小米云台视频文件 (java生成)
  20. 利用python操作word文档

热门文章

  1. python—csv模块处理单字符分隔符文件
  2. 深度学习2.0-6.tensorflow的高阶操作之合并与分割
  3. 一个小白对卷积神经网络的理解
  4. 云单元架构,如何赋能数字化转型呢?
  5. RAC架构之业务分割
  6. 读大师的书 说自己的话——《传世经典书丛评注版》邀你来点评
  7. 征服RIA:元编程的思想
  8. 深度学习:语言模型的评估标准
  9. 电脑wifi热点软件_手机WiFi信号太差怎么办?掌握这些方法,轻松解决这个问题...
  10. python 计算订单_从问题到程序:用Python学编程和计算