shell编程基础之根据输入进行相应的操作
这个题目是
输入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编程基础之根据输入进行相应的操作相关推荐
- Linux Shell编程基础
linux系统下给命令指定别名alias命令用法: 在linux系统中如果命令太长又不符合用户的习惯,那么我们可以为它指定一个别名.虽然可以为命令建立"链接"解决长文件名的问题,但 ...
- 【⛔拒绝内卷,学会shell,走遍天下都不怕⛔】shell编程基础
shell编程基础 shell简介 属性 shell是一个命令行解释器,建立了用户和操作系统之间的接口.当我们在命令行输入一个命令后,shell会对命令进行解释,调用相应的程序去执行.shell是一种 ...
- shell编程基础笔记
第一部分shell编程基础 1shell简介 什么是shell 存取权限和安全 shell简单脚本 shell特性 1.1什么是shell shell是核心程序kernel之外的指令解析器,是一个程 ...
- 「Linux」Linux Shell 编程基础入门
Linux Shell 编程基础入门 1. 变量 1.1 变量定义 1.2 使用变量 1.3 引号 1.4 将命令的结果赋值给变量 1.5 位置参数 1.6 特殊变量及其含义 2. 字符串 2.1 字 ...
- Shell编程基础常用代码1
Shell编程 注:大家觉得博客好的话,别忘了点赞收藏呀,本人每周都会更新关于人工智能和大数据相关的内容,内容多为原创,Python Java Scala SQL 代码,CV NLP 推荐系统等,Sp ...
- shell编程100例之输入三个数并进行升序排序
shell编程100例之输入三个数并进行升序排序 #!/bin/bash# 依次提示用户输入 3 个整数,脚本根据数字大小依次排序输出 3 个数字 read -p "请输入一个整数:&quo ...
- 第二课《shell 编程基础》
编程语言分类: 编译型 解释型 编译型语言:c.c++.c# 解释型语言: 内置型:shell.perl源码并入了linux kernel,提供内核级单条语句的效率 外置型:python.java.j ...
- [Linux] 10. shell编程基础《updating》
第一个shell脚本 shell 脚本通常是以#!起始的文本文件 Linux环境下的任何脚本文件都是以一个被称为 shebang 的特殊行作为起始的. 在这行中,字符 #! 被置于解释器路径之前./b ...
- Linux 脚本大师不是人人都可以达到的,但Shell编程基础还是有必要掌握的
Linux Shell是一种基本功,由于怪异的语法加之较差的可读性,现在逐渐被Python等脚本代替.既然是基本功,那就需要掌握,毕竟学习 Shell 脚本的过程中,还是能了解到很多Linux系统 ...
最新文章
- 深入浅出理解Paxos算法
- 大S变汪太!与汪小菲注册结婚
- 8.Layout布局应用
- Leetcode 109. 有序链表转换二叉搜索树 解题思路及C++实现
- 草稿--深度学习cache系列
- Oracle 函数大全(字符串函数,数学函数,日期函数,逻辑运算函数,其他函数)
- 平果手机桌面计算机,苹果手机便签记事本怎么在Windows电脑桌面上使用?
- 前后端敏感数据加密方案及实现_02
- Android的第一个工程,Android Things:撸起袖子来创建第一个Things工程
- 视频中场的概念(1080I和1080P)和BT601/656/709/1120/2020/2077
- XBuilder:Ext表单设计的完美实现
- Es的mapping映射
- 贴片电阻封装规格及阻值标注方法
- 【报告分享】第二届中国工业互联网大赛成果汇编-中国工业互联网大赛组委会(附下载)
- windows云服务器,如何使用windows云服务器
- vscode中选中多行多光标进行操作及一些常用的命令(快捷键)
- 猿创征文 | 【STM32】ESP8266 wifi模块创建阿里云产品
- 小米pro显示无服务器,【解决】小米WiFi放大器pro连接不稳定/连接后无网络的问题!!!...
- MT7621_基础篇(1) 芯片资料了解 一
- 简历应该怎么写,HR看一篇简历仅需要5秒吗,简历模板大全