首页 > 其他分享 >学习笔记(3)

学习笔记(3)

时间:2023-09-24 19:11:10浏览次数:39  
标签:脚本 语句 通配符 笔记 学习 命令 sh 执行

一、任务详情

自学教材第10章,提交学习笔记(10分)
大家学习过Python,C,Java等语言,总结一下一门程序设计语言有哪些必备的要素和技能?这些要素和技能在shell脚本中是如果呈现出来的?

二、知识点归纳

10.1 sh脚本

sh脚本是一个包含sh语句的文本文件,命令解释程序sh要执行该语句。sh脚本通常以“.sh”为扩展名,并且必须以“#!/bin/bash”作为第一行,用于指定脚本的解释器。

10.2 sh脚本与C程序

sh脚本和C程序有一些相似之处,但它们在根本上是不同的。
sh是一个解释性程序,逐行读取sh脚本文件并直接执行这些行,如果行是可执行命令且为内置命令,那么sh可直接执行,sh中每个变量都是字符串,因此不需要类型。而C程序必须先编译链接到一个二进制执行文件,然后通过主sh的子进程运行二进制可执行文件,且每个变量必须要有一个类型。C需要有main()函数,sh不需要。

10.3 命令行参数

可以使用与sh命令完全相同的参数调用sh脚本。
可以通过位置参数$0、$1、$2等访问命令行参数

10.4 sh变量

sh有许多内置变量,如PATH、HOME等,可以使用任何符号作为sh变量,不需要声明,所有的sh变量都是字符串,未赋值的sh变量是NULL字符串。

10.5 sh中的引号

使用\或单引号引用特殊字符

10.6 sh语句

包括所有Unix/Linux命令,以及可能的I/O重定向

10.7 sh命令

sh有许多内置命令,由sh执行,不需要创新新进程。
sh可以执行所有的Linux命令

10.8 命令替换

$A会被替换成A,当sh遇到‘cmd’或$(cmd),会执行cmd,然后用执行结果字符串替换$(cmd)

10.9 sh控制语句

sh支持许多执行控制语句。
有if-else-if语句、for语句、while语句、until-do语句、case语句、continue、break语句

10.10 I/O重定向

指示sh将I/O重定向到除默认stdin\stdout和sterr以外的文件

10.11 嵌入文档

输出命令从stdin获取输入,将其回显到stdout,直到遇到预先安排的关键字

10.12 sh函数

定义为:
func()
{
   #function code
}
必须在任何可执行语句之前定义sh脚本中的所有函数。

10.13 sh中的通配符

星号通配符:*,可扩展到当前目录的所有文件
?通配符:查询某文件名中的字符
[ ]通配符:查询文件名中一对[ ]中的字符

10.14 命令分组

用{}或()对命令进行分组

10.15 eval语句

sh内置命令,由sh自己执行,不需要复刻新进程。
通过参数替换、命令替换、通配符扩展执行

10.16 调试sh脚本

由带有-x选项的子sh运行

10.17 sh脚本的应用

1.自动化任务和作业调度: sh脚本可用于自动执行重复性任务和作业,从而节省时间和减少手动操作的错误。可以使用工具如crontab来安排定期运行脚本,执行备份、日志清理、数据处理等任务。
2.系统管理和监控: 系统管理员可以编写脚本来sh管理和监控服务器。这包括系统资源的监视、安全性检查、日志文件的分析、软件包管理以及对服务器状态的自动响应。
3.部署和配置管理: 开发人员和运维人员使用sh脚本来自动化应用程序的部署和配置。包括安装依赖项、设置环境变量、启动和停止服务、应用程序的升级等。
4.日志和数据处理: sh脚本在日志分析和数据处理方面非常有用。它们可用于从日志文件中提取信息、生成报告、处理大量数据、文件格式转换以及文本处理等任务。

2.苏格拉底挑战

问题(1)
image
image
问题(2)
image
image

二、问题与解决思路

问题

(1)如何正确运行sh脚本?
(2)sh脚本是用什么编程语言书写的?

解决思路

问题(1)
image
image
问题(2)
image

标签:脚本,语句,通配符,笔记,学习,命令,sh,执行
From: https://www.cnblogs.com/Euyq123/p/17726452.html

相关文章

  • 深度学习入门——卷积神经网络CNN基本原理+实战
    beginning今天给小伙伴们介绍一个高级的分类方法——卷积神经网络CNN,并学习用CNN实现图像的分类。作为深度学习的基础,CNN可太重要了呐,在图像分类、目标检测、目标跟踪、语义分割、实例分割等领域随处可见它的身影。废话不多说啦,如果你也对CNN感兴趣的话,赶紧跟我一起愉快的看下去叭......
  • 第三周Linux教材第十章学习笔记——sh编程
    第十章——sh编程sh脚本1.sh脚本是一种为shell编写的脚本程序。这个程序用纯文本文件,将一些shell的语法与命令(含外部命令)写在里面,搭配正则表达式、管道命令与数据流重定向等功能。第一行必须为#!/bin/sh2.命令行使用chmod+x <filename>编译后才能用./filename来运行。3.......
  • 大学新人小白,学习编程第一步‘’坚持‘’
    当下的各种编程语言盛行,鱼龙混杂,有C++,Python,java。虽然大多数人在初高中时有了解过小猫cat,Python学习等,之所以大学选择C语言或许应该离不开它是”千万家之本“。对于一位未来正打算从事相关行业的小白来说,学之根本尤为重要。学习第一步,”坚持“一堂课的开始一般是枯燥的,因为你并未......
  • 深度学习入门——卷积神经网络CNN基本原理+实战
    beginning今天给小伙伴们介绍一个高级的分类方法——卷积神经网络CNN,并学习用CNN实现图像的分类。作为深度学习的基础,CNN可太重要了呐,在图像分类、目标检测、目标跟踪、语义分割、实例分割等领域随处可见它的身影。废话不多说啦,如果你也对CNN感兴趣的话,赶紧跟我一起愉快的看下去叭......
  • 2023-2024-1 20211306 密码系统设计与实现课程学习笔记3
    20211306密码系统设计与实现课程学习笔记3学习任务详情自学教材第10章,提交学习笔记大家学习过Python,C,Java等语言,总结一下一门程序设计语言有哪些必备的要素和技能?这些要素和技能在shell脚本中是如果呈现出来的?知识点归纳以及自己最有收获的内容,选择至少2个知识点利用......
  • 学习笔记3
    第10章sh编程一、知识点总结1.sh脚本sh脚本是一个包含sh语句的文本文件,命令解释程序sh要执行该语句。实践过程:2.sh脚本与C程序sh是一个解释程序,逐行读取sh脚本文件并直接执行这些行;C程序必须先编译链接到一个二进制可执行文件在sh脚本中,每个变量都是字符串;在C程序......
  • Linux操作系统学习
    当今互联网时代,Linux操作系统凭借其高度的自由度、可靠性和安全性,已经成为网络世界的重要组成部分。作为最受欢迎的Linux发行版之一,CentOS在企业和个人用户中广受好评。本篇博客将向大家介绍本人在CentOS操作系统所学到的一些基础知识和常用命令。CentOS是CommunityEnterpriseO......
  • 第十章学习笔记
    第九章学习笔记一、课本知识1.sh脚本包含sh语句的文本文件,命令解释程序sh要执行该语句。2.sh脚本与C程序-sh:(1)sh是一个解释程序,逐行读取sh脚本文件并直接执行这些行。(2)sh脚本中,每个变量都是字符串。(3)sh脚本不需要main函数,第一个可执行语句是程序的入口点。-C程序:(1)C程序......
  • 信息安全系统设计与实现 学习笔记3
    一、总结一下一门程序设计语言有哪些必备的要素和技能?这些要素和技能在shell脚本中是如果呈现出来的?一门程序设计语言的必备要素和技能包括:语法:掌握语言的基本语法,包括变量、数据类型、运算符、流程控制语句、函数、类等。算法和数据结构:能够设计和实现常用的算法和数据结构,如......
  • flex布局笔记
    一、认识flex布局认识flexbox:弹性盒子是一种用于按行或按列布局元素的一维布局方法;元素可以膨胀一填充额外的空间,收缩一适应更小的空间;通常我们使用flexbox来进行布局的方案之为flex布局(flexlayout);flex布局的重要概念开启了flex布局的元素叫flexcontainerflexcontai......