这个题目是

输入A:创建自己名字的文件夹,如果有这个文件夹的话,就读取file1和file2的文件内容

输入B:获取当前用户对file1和file2文件权限

输入C:内容转为大写

输入D:计算连接和文件数目

输入E:计算文件空行数目

以下是我的代码:

#! bin/bash
read opts;
case $opts in
'A') if [ -d ~/li ];thencp ./file1 ~/li;cp ./file2 ~/li;cat ~/li/file1;cat ~/li/file2;    elsemkdir ~/li;chmod -R 755 ~/li;fi;;
'B')    if [ -d ~/liwei ];thenfile1=$(ls -l ~/li | grep 'file1'| awk -F " " '{print $1}' | cut -d '.' -f 1);file2=$(ls -l ~/li | grep 'file2'| awk -F " " '{print $1}' | cut -d '.' -f 1);echo your power of file1 is $file1;echo your power of file2 is $file2;elseecho please excute 'A' first;fi;;
'C')    if [ -d ~/li];thenfile1=$(cat ~/li/file1);file2=$(cat ~/li/file2);upper=$(echo $file1 | tr '[a-z]' '[A-Z]');lower=$(echo $file2 | tr '[a-z]' '[A-Z]');echo 'uppercase show of  file1 and file2:';echo $upper;echo $lower;elseecho please excute 'A' first;fi    ;;
'D')    file_str=$(ls -l  /dev | awk -F " " '{print $1}' | cut -c 1 | tr \n , );file_arr=($file_str);l_num=0;d_num=0;for x in ${file_arr[@]}do if [ "$x" = "d"  ];thend_num=$(($d_num + 1));fiif [ "$x" = "l" ];thenl_num=$(($l_num + 1));fidoneecho the number of directory in dev is $d_num;echo the number of link in dev is $l_num;;;
'E')    line_num=0;test_num=0;if [ -d ~/li ];thenwhile read linedoif [[ ! -n $line  ]];thenline_num=$(($line_num + 1));fidone < ~/li/file1echo "the number of blank line is $line_num"; elseecho please excute 'A' first.fi;;
esac
exit

转载于:https://www.cnblogs.com/rimochiko/p/8168620.html

shell编程基础之根据输入进行相应的操作相关推荐

  1. Linux Shell编程基础

    linux系统下给命令指定别名alias命令用法: 在linux系统中如果命令太长又不符合用户的习惯,那么我们可以为它指定一个别名.虽然可以为命令建立"链接"解决长文件名的问题,但 ...

  2. 【⛔拒绝内卷,学会shell,走遍天下都不怕⛔】shell编程基础

    shell编程基础 shell简介 属性 shell是一个命令行解释器,建立了用户和操作系统之间的接口.当我们在命令行输入一个命令后,shell会对命令进行解释,调用相应的程序去执行.shell是一种 ...

  3. shell编程基础笔记

    第一部分shell编程基础 1shell简介 什么是shell 存取权限和安全 shell简单脚本 shell特性 1.1什么是shell shell是核心程序kernel之外的指令解析器,是一个程 ...

  4. 「Linux」Linux Shell 编程基础入门

    Linux Shell 编程基础入门 1. 变量 1.1 变量定义 1.2 使用变量 1.3 引号 1.4 将命令的结果赋值给变量 1.5 位置参数 1.6 特殊变量及其含义 2. 字符串 2.1 字 ...

  5. Shell编程基础常用代码1

    Shell编程 注:大家觉得博客好的话,别忘了点赞收藏呀,本人每周都会更新关于人工智能和大数据相关的内容,内容多为原创,Python Java Scala SQL 代码,CV NLP 推荐系统等,Sp ...

  6. shell编程100例之输入三个数并进行升序排序

    shell编程100例之输入三个数并进行升序排序 #!/bin/bash# 依次提示用户输入 3 个整数,脚本根据数字大小依次排序输出 3 个数字 read -p "请输入一个整数:&quo ...

  7. 第二课《shell 编程基础》

    编程语言分类: 编译型 解释型 编译型语言:c.c++.c# 解释型语言: 内置型:shell.perl源码并入了linux kernel,提供内核级单条语句的效率 外置型:python.java.j ...

  8. [Linux] 10. shell编程基础《updating》

    第一个shell脚本 shell 脚本通常是以#!起始的文本文件 Linux环境下的任何脚本文件都是以一个被称为 shebang 的特殊行作为起始的. 在这行中,字符 #! 被置于解释器路径之前./b ...

  9. Linux 脚本大师不是人人都可以达到的,但Shell编程基础还是有必要掌握的

      Linux Shell是一种基本功,由于怪异的语法加之较差的可读性,现在逐渐被Python等脚本代替.既然是基本功,那就需要掌握,毕竟学习 Shell 脚本的过程中,还是能了解到很多Linux系统 ...

最新文章

  1. 深入浅出理解Paxos算法
  2. 大S变汪太!与汪小菲注册结婚
  3. 8.Layout布局应用
  4. Leetcode 109. 有序链表转换二叉搜索树 解题思路及C++实现
  5. 草稿--深度学习cache系列
  6. Oracle 函数大全(字符串函数,数学函数,日期函数,逻辑运算函数,其他函数)
  7. 平果手机桌面计算机,苹果手机便签记事本怎么在Windows电脑桌面上使用?
  8. 前后端敏感数据加密方案及实现_02
  9. Android的第一个工程,Android Things:撸起袖子来创建第一个Things工程
  10. 视频中场的概念(1080I和1080P)和BT601/656/709/1120/2020/2077
  11. XBuilder:Ext表单设计的完美实现
  12. Es的mapping映射
  13. 贴片电阻封装规格及阻值标注方法
  14. 【报告分享】第二届中国工业互联网大赛成果汇编-中国工业互联网大赛组委会(附下载)
  15. windows云服务器,如何使用windows云服务器
  16. vscode中选中多行多光标进行操作及一些常用的命令(快捷键)
  17. 猿创征文 | 【STM32】ESP8266 wifi模块创建阿里云产品
  18. 小米pro显示无服务器,【解决】小米WiFi放大器pro连接不稳定/连接后无网络的问题!!!...
  19. MT7621_基础篇(1) 芯片资料了解 一
  20. 简历应该怎么写,HR看一篇简历仅需要5秒吗,简历模板大全

热门文章

  1. C++入门课程系列:基础知识篇(1)
  2. Java selenium操作下拉滚动条的几种方法
  3. 调查预测:云部署将于2018年中迎来小高峰
  4. Css3系列-新属性新布局
  5. C/C++各种系统开发环境搭建
  6. .NET开源社区存在的问题
  7. 手把手教您如何识别翻新机子
  8. QTP的Action之间传递参数
  9. 解决Ubuntu17.04不能安装git的问题 E: Package 'git' has no installation candidate
  10. java JSONObject