C高级第三讲

1、思维导图

 2、输入一个文件名,判断是否为shell脚本文件,如果是脚本文件,判断是否有可执行权限,如果有可执行权限,运行文件,如果没有可执行权限,给文件添加可执行权限。

#!/bin/bash
read -p "输入文件名:" file_name
var=`expr match file_name "sh"`
if [[ $var -gt 0 ]]
thenif [ -x file_name ]thenbash file_nameelsechmod chmod 0777 file_namefi
elseecho "非脚本文件"
fi

3、终端输入两文件名,判断哪一个文件更新

#!/bin/bash
read -p "文件1:" file1
read -p "文件2:" file2
if [ $file1 -nt $file2 ]
thenecho "file1更新"
elif [ $file1 -ot $file2 ]
thenecho "file2更新"
elseecho "两个文件时间相同"
fi

4、终端输入用户,判断用户是否存在,如果不存在,添加用户

#!/bin/bash
read -p "输入用户名:" usr_name
str=`id -u $usr_name`
info="用户已存在"
if [[ $str = $info ]]
then     #用户不存在echo $info
else`sudo adduser $usr_name`
fi

5、输入学生成绩,判断等级,A[100,90),B[90,80),C[80,70),D[70,60)

#!/bin/bash
read -p "输入学生成绩:" grade
var=$(expr $grade / 10)
if [[ var -ge 9 && var -le 10 ]]
thenecho "A"
elif [[ var -ge 8 && var -le 9 ]]
thenecho "B"
elif [[ var -ge 7 && var -le 8 ]]
thenecho "C"
elseecho "D"
fi

6、写一个shell脚本,获取当前用户名,用户id和工作路径

#!/bin/bash
usr_name=`whoami`
uid=`id -u $usr_name`
path=`pwd`
echo "usr_name:" $usr_name
echo "uid:" $uid
echo "path:" $path

7、统计/etc目录下以P或p开头的文件个数

#!/bin/bash
arr=(`ls /etc`)
var1=`sudo find /etc -name 'P*' | grep -c '^'`
var2=`sudo find /etc -name 'p*' | grep -c '^'`
echo "p开头:" $var1
echo "P开头:" $var2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/76960.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue 老项目 npm install 报错Python,c++等相关错误

​​​ 老项目npm install 下载依赖包报错 解决方法: //下载python 1、 npm install --global --production windows-build-tools//配置环境 : 也可暂时不用配置,能用就不用配置(npm config set python "D:\Python27\python.exe&q…

康冠医疗2021笔试题

笔试时间:2020.09.24。 岗位:嵌入式软件工程师。 题型:13道题,40分钟。 6道填空,2道简答,5道编程,时间紧任务重。 1、填空 4、考察extern关键字。 6、const可以用来代替define ,define 只是简单的代替,但是const还会进行类型检查。 怎么避免头文件重复包含: #…

pandas read excel 更改string列为时间类型

设想我们有如下一个excel文件 我们都知道上面那个时间列其实是string类型,因此在用pandas做时间校验的时候会不通过,我们可以在read_excel的时候,指定这一列做转换 import pandas as pd from datetime import datetime, timedelta import n…

Mybatis 知识点

Mybatis 知识点 1.1 Mybatis 简介 1.1.1 什么是 Mybatis Mybatis 是一款优秀的持久层框架支持定制化 SQL、存储过程及高级映射Mybatis 几乎避免了所有的 JDBC 代码和手动设置参数以及获取结果集MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO…

flutter:占位视图(骨架屏、shimmer)

前言 有时候打开美团,在刚加载数据时会显示一个占位视图,如下: 那么这个是如何实现的呢?我们可以使用shimmer来开发该功能 实现 官方文档 https://pub-web.flutter-io.cn/packages/shimmer 安装 flutter pub add shimmer示例…

C语言----字节对齐

一:字节对齐的概念 针对字节对齐,百度百科的解释如下: 字节对齐是字节按照一定规则在空间上排列,字节(Byte)是计算机信息技术用于计量存储容量和传输容量的一种计量单位,一个字节等于8位二进制数,在UTF-8编…

[threejs]相机与坐标

搞清相机和坐标的关系在threejs初期很重要,否则有可能会出现写了代码,运行时一片漆黑的现象,这种情况就有可能是因为你相机没弄对。 先来看一下threejs中的坐标(世界坐标) 坐标轴好理解,大家只需要知道在three中不同颜色代表的轴…

mysql修改密码

文章目录 一、修改密码方式一:用SET PASSWORD命令方式二:用mysqladmin方式三:使用alter user语句 二、修改密码可能遇到的问题ERROR 1396 (HY000): Operation ALTER USERERROR 1064 (42000) 在mysql使用过程中,我们可能经常会对my…

pytorch的CrossEntropyLoss交叉熵损失函数默认reduction是平均值

pytorch中使用nn.CrossEntropyLoss()创建出来的交叉熵损失函数计算损失默认是求平均值的,即多个样本输入后获取的是一个均值标量,而不是样本大小的向量。 net nn.Linear(4, 2) loss nn.CrossEntropyLoss() X torch.rand(10, 4) y torch.ones(10, dt…

机器学习笔记之优化算法(六)线搜索方法(步长角度;非精确搜索;Glodstein Condition)

机器学习笔记之优化算法——线搜索方法[步长角度,非精确搜索,Glodstein Condition] 引言回顾: Armijo Condition \text{Armijo Condition} Armijo Condition关于 Armijo Condition \text{Armijo Condition} Armijo Condition的弊端 Glodstein…

海外版金融理财系统源码 国际投资理财系统源码 项目投资理财源码

海外版金融理财系统源码 国际投资理财系统源码 项目投资理财源码

WebRTC 之音视频同步

在网络视频会议中, 我们常会遇到音视频不同步的问题, 我们有一个专有名词 lip-sync 唇同步来描述这类问题,当我们看到人的嘴唇动作与听到的声音对不上的时候,不同步的问题就出现了 而在线会议中, 听见清晰的声音是优先…

【安装】阿里云轻量服务器安装Ubuntu图形化界面(端口号/灰屏问题)

阿里云官网链接 https://help.aliyun.com/zh/simple-application-server/use-cases/use-vnc-to-build-guis-on-ubuntu-18-04-and-20-04 网上搜了很多教程,但是我没在界面看到有vnc连接,后面才发现官网有教程。 其实官网很详细了,不过这里还是…

18、springboot默认的配置文件及导入额外配置文件

springboot默认的配置文件及导入额外配置文件 ★ Spring Boot默认加载的配置文件: (1) 类加载路径(resources目录)application.properties|yml (相当于JAR包内)optional: classpath:/ (2)类加…

钉钉对接打通金蝶云星空获取流程实例列表详情(宜搭)接口与其他应收单接口

钉钉对接打通金蝶云星空获取流程实例列表详情(宜搭)接口与其他应收单接口 对接系统钉钉 钉钉(DingTalk)是阿里巴巴集团专为中国企业打造的免费沟通和协同的多端平台,提供PC版,Web版和手机版,有考…

Alchemy Catalyst 2023 crack

Alchemy Catalyst 2023 crack Alchemy CATALYST是一个可视化本地化环境,支持本地化工作流程的各个方面。它帮助组织加快本地化进程,比竞争对手更快地进入新市场,并为他们创造新的收入机会。 创建全球影响力 高质量的产品和服务翻译对跨国组织…

网关gateway的简介和搭建过程

目录 1.什么是网关和网关的应用情景 2.网关是如何演化来的,在微服务中有什么作用? 3.网关的基本功能 4.Spring Cloud gateway的发展史 5.和网关类似的功能组件: 6.为什么微服务当中一定要有网关 7.微服务网关的优点 8.gateway的搭建过程…

C#核心知识回顾——19.插入排序

1.插入排序的基本原理 871542639 两个区域 排序区 未排序区 用一个索引值做分水岭 未排序区元素 与排序区元素比较 插入到合适位置 直到未排序区清空 int[] arr { 8, 6, 7, 2, 9, 4 };//第一步//能取出未排序区…

【MySQL】MySQL 数据库的介绍与操作

目录 1. 登录 MySQL 数据库 2. MySQL 介绍 3. 操作数据库 1、创建数据库 2、删除数据库 3、插入数据 4、查找 5、修改数据库 4. 表的操作 1、创建表 2、查看表 3、修改表 4、删除表 写在最后: 1. 登录 MySQL 数据库 指令: mysql -h 127.…

c51单片机16个按键密码锁源代码(富proteus电路图)

注意了:这个代码你是没法直接运行的,但是如果你看得懂,随便改一改不超过1分钟就可以用 #include "reg51.h" #include "myheader.h" void displayNumber(unsigned char num) {if(num1){P10XFF;P10P11P14P15P160;}else if…